Skip to content

feat(mvp3): adapters de exportación versionados - #74

Merged
Alexendros merged 1 commit into
mainfrom
feat/mvp3-export-adapters
Oct 12, 2026
Merged

Alexendros merged 1 commit into
mainfrom
feat/mvp3-export-adapters

Conversation

@Alexendros

@Alexendros Alexendros commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Objetivo

Cerrar el slice MVP-3: adapters de exportación versionados (ADR-0003 / FR-EXPORT-001) sin runner ni firma de catálogo.

IDs trazados

  • Requisitos: FR-EXPORT-001, FR-MANIFEST-001, NFR-DET-001, NFR-PORT-001
  • ADR/DEC: ADR-0003, DEC-001, DEC-008
  • Issues: MVP-3-01..06 (docs/10-delivery/mvp3-scope.md)
  • Pruebas: TST-EXP-001 (export_adapters_diverge_bytes_and_fill_content, idempotencia, rechazo)

Cambios

  • render_artifact_bytes separa archmaker-profile, sobre experimental archinstall-profile y report
  • Artifact.content relleno con el payload del adapter
  • Alcance, backlog, next-issues, go-no-go y matriz de trazabilidad del slice MVP-3

Fuera de alcance

  • Runner, root, discos, shell, catálogos remotos, firma de catálogo en carga (etapa 11)
  • Schema upstream de archinstall, presets, UI

Contratos/migraciones

Sin cambio de enum de targets ni de schema Artifact; solo semántica de exportación.

Seguridad/privilegios

Sin superficie nueva de shell/red/disco. El sobre archinstall rechaza claves ejecutables.

Accesibilidad/visual

Sin cambios UI.

Pruebas y evidencias

  • cargo test -p archmaker-core --test core_contract (21 ok)
  • cargo test -p archmaker-wasm --test parity (6 ok)
  • python3 tools/gates.py → Clear
  • Inventario/matriz regenerados (cobertura 100%)

Documentación

  • docs/10-delivery/mvp3-scope.md (DOC-DEL-MVP3-001)
  • Actualizaciones en next-issues, backlog, roadmap, go-no-go, plan-status, ADR-0003

Checklist DoD

  • Adapters con bytes distintos
  • Content relleno
  • Tests negativos de campos ejecutables
  • Trazabilidad sin huérfanos
  • Tag implementation-baseline-mvp3 tras merge (MVP-3-06)

Note

Medium Risk
Export semantics change (archinstall no longer mirrors archmaker bytes) and Artifact.content is now always set on successful export; contract tests cover divergence but downstream consumers must handle the new payloads.

Overview
Delivers MVP-3: versioned export adapters (ADR-0003 / FR-EXPORT-001) without changing CorePort surface or adding runner/shell.

Core export behavior: render_artifact_bytes now returns a RenderedArtifact (bytes, media type, JSON content) and routes each target through its own renderer. archmaker-profile stays canonical manifest JSON; report is deterministic markdown; archinstall-profile is a separate experimental JSON envelope (manifest ref + ordered effectiveSelections), not a raw manifest re-export, with rejection if banned executable-shaped keys appear. export_artifact populates Artifact.content, sets experimental: true only for archinstall, and keeps byte-idempotent binaryDigest behavior.

Tests & docs: New integration test export_adapters_diverge_bytes_and_fill_content (divergent digests, content filled, envelope shape, no executable keys). Governance/delivery docs add MVP-3 scope, close MVP-3-01..06, baseline implementation-baseline-mvp3, ADR-0003 marked partial; traceability inventory/matrix updated for the new test.

Reviewed by Cursor Bugbot for commit d2eadb0. Configure here.

Separate archmaker-profile, experimental archinstall envelope, and report
adapters so exportArtifact fulfills ADR-0003/FR-EXPORT-001 without runner
or catalog signing. Fill Artifact.content and close the MVP-3 slice docs.
@cursor

cursor Bot commented Oct 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 79629b3d-915a-4cc9-833e-4c9f02911570)

@Alexendros
Alexendros merged commit fd81e43 into main Oct 12, 2026
22 checks passed
@Alexendros
Alexendros deleted the feat/mvp3-export-adapters branch October 12, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant