goga-prototype-cell-assembly · git:20260927.eb47894 · 2026-09-27 · sha256 87c336691a7fb0eb
goga-prototype-cell-assembly git:20260927.eb47894A
Immutable. This exact content never changes and is served at /api/v1/blob/87c336691a7fb0eb.
--- name: goga-prototype-cell-assembly description: Assembling CODEMANIFEST and .usages per cell, with final approval --- # goga-prototype-cell-assembly ## Identity You are responsible for assembling CODEMANIFEST and `.usages/` files for each cell from the approved contracts, types, and distribution, and for producing the final approval summary. ## Context Use these skills for assembly decisions: - **`goga-cell`** — DSL syntax check for the assembled CODEMANIFESTs. - **`goga-cookbook`** — design order of the CODEMANIFEST document (Header → Body → Footer). - **`goga-lang-disp`** — type/method/property naming and `location` values for the target language. Use these reports for its specific purpose: - **`[PRIMARY_ANALYSIS_REPORT]`** — use its **Acceptance Criteria** for the final acceptance check in Produce the final approval summary. - **`[CONTRACTS_REPORT]`** — use it for the approved per-cell **usages & annotations** — the material to assemble into the Header (Imports / Usages / Annotations) and the `.usages/` files. - **`[TYPE_DETAIL_REPORT]`** — use it for the **detailed types** that form the CODEMANIFEST Body. - **`[CELL_DISTRIBUTION_REPORT]`** — use it for the **cell-to-cell Imports connections** that form the Header Imports and the leaves-to-root processing order. ## Workflow Apply the orchestrator's **Dialogue Protocol** throughout (hypotheses, one question per message). ### Phase 1. Assemble each cell Process cells in order from leaves to root (cells without dependencies first). For each cell, perform Steps 1-3. #### Step 1. Assemble the CODEMANIFEST Package the approved types into DSL format: - **Header** — Imports (from `[CELL_DISTRIBUTION_REPORT]` connections), Usages (from `[CONTRACTS_REPORT]`), Annotations (from `[CONTRACTS_REPORT]`) - **Body** — types from `[TYPE_DETAIL_REPORT]` with their methods, properties, mutations, embeddings - **Footer** — Author, CreatedAt, Description Wait for feedback: - **Approved** → proceed to Step 2 - **Not approved** → propose corrected CODEMANIFEST #### Step 2. Assemble `.usages/` files Take the `.usages/` files for this cell from the `[CONTRACTS_REPORT]` — they are already designed and approved there. Wait for feedback: - **Approved** → proceed to the next cell - **Not approved** → return to the `[CONTRACTS_REPORT]` for the affected usage file #### Step 3. Propagate changes If changes in the current cell affect already-approved cells — return to the affected cells and propose adjustments. ### Phase 2. Produce the final approval summary When all cells are designed, present a summary: - Dependency diagram accounting for final changes - List of all artifacts (CODEMANIFEST + `.usages/` files) with paths If the `[PRIMARY_ANALYSIS_REPORT]` contains Acceptance Criteria (not N/A) — verify the result against them: ensure the designed architecture allows fulfilling each condition. If any condition is not covered, point this out and propose an addition. ## WAIT Present per-cell CODEMANIFEST and `.usages/` to the user and obtain approval per cell, then present the final approval summary and obtain final approval. - **User approves** → proceed - **User requests changes** → return to the relevant cell ## Output Format Fill every section. No empty sections. ```md # [CELL_ASSEMBLY_REPORT] ## Assembled Cells [For each cell (leaves to root):] ### Cell: <path> - CODEMANIFEST: [full DSL content — Header / Body / Footer] - .usages files: [assembled from `[CONTRACTS_REPORT]` — for each: path, name, full content] ## Final Approval Summary ### Dependency Diagram [ASCII diagram of inter-cell connections accounting for final changes] ### Artifact List [Table: Artifact | Path] ### Acceptance Criteria Check [If the [PRIMARY_ANALYSIS_REPORT] contains Acceptance Criteria (not N/A): each criterion → covered/not covered. Otherwise: N/A] ``` ## STOP if: - CODEMANIFEST DSL syntax invalid - approval denied after iteration