codecartographer-pi 0.12.11 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codecarto/CONTRIBUTING.md +1 -1
- package/.codecarto/GUIDE.md +4 -3
- package/.codecarto/NEW_THREAD_BLURB.md +9 -10
- package/.codecarto/findings/defect-scan-mechanical/SKILL.md +1 -1
- package/.codecarto/skills/spec-delta-application/SKILL.md +1 -1
- package/.codecarto/templates/architecture-map.md +2 -1
- package/.codecarto/templates/behavioral-contracts.md +2 -1
- package/.codecarto/templates/closeout-template.md +5 -2
- package/.codecarto/templates/mechanical-defects.md +4 -2
- package/.codecarto/templates/protocols-and-state.md +2 -1
- package/.codecarto/templates/reverse-engineering-bundle.md +2 -1
- package/.codecarto/templates/semantic-defects.md +3 -1
- package/.codecarto/templates/thread-log-entry-template.md +11 -13
- package/.codecarto/workflow/VALIDATE.md +17 -14
- package/.codecarto/workflow/pipeline-architecture-only.yaml +2 -2
- package/.codecarto/workflow/pipeline-defect-scan.yaml +4 -4
- package/.codecarto/workflow/pipeline-full-with-audit.yaml +12 -12
- package/.codecarto/workflow/pipeline-full-with-deep-audit.yaml +15 -15
- package/.codecarto/workflow/pipeline-lite.yaml +6 -6
- package/.codecarto/workflow/pipeline.yaml +10 -10
- package/.codecarto/workflow/scaffold-version.yaml +6 -0
- package/README.md +25 -1
- package/agent-skill/codecartographer/SKILL.md +143 -0
- package/agent-skill/codecartographer/references/carrying-results-forward.md +53 -0
- package/agent-skill/codecartographer/references/deep-audit-synthesis.md +54 -0
- package/agent-skill/codecartographer/references/executors.md +75 -0
- package/agent-skill/codecartographer/references/handoff-contract.md +80 -0
- package/agent-skill/codecartographer/references/kernel-first-rewrite.md +56 -0
- package/agent-skill/codecartographer/references/phase-recovery.md +48 -0
- package/agent-skill/codecartographer/references/pipeline-selection.md +38 -0
- package/dist/core/completion.js +13 -0
- package/dist/core/guide.d.ts +18 -0
- package/dist/core/guide.js +50 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/prompts.js +20 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/workspace.d.ts +11 -0
- package/dist/core/workspace.js +56 -1
- package/dist/extensions/codecarto/index.js +4 -1
- package/dist/mcp-server/server.d.ts +14 -0
- package/dist/mcp-server/server.js +47 -10
- package/package.json +12 -3
|
@@ -25,7 +25,7 @@ Key things to verify:
|
|
|
25
25
|
- Pipeline YAML files parse correctly and phase dependencies resolve.
|
|
26
26
|
- SKILL.md instructions produce output that matches the corresponding template.
|
|
27
27
|
- Validation protocol (VALIDATE.md) catches missing or incomplete sections.
|
|
28
|
-
- `status.yaml` updates correctly after each phase, with the schema-split `open_questions` / `carry_forward` lists used for what each is for (see GUIDE.md "Open Questions vs Carry-Forward").
|
|
28
|
+
- `status.yaml` updates correctly after each phase from the session's phase handoff, with the schema-split `open_questions` / `carry_forward` lists used for what each is for (see GUIDE.md "Open Questions vs Carry-Forward").
|
|
29
29
|
- All file paths referenced in pipeline YAML, GUIDE.md, and SKILL.md files exist.
|
|
30
30
|
|
|
31
31
|
#### THREAD_LOG.md de-dup check
|
package/.codecarto/GUIDE.md
CHANGED
|
@@ -39,8 +39,8 @@ If this is the first LLM to touch this project — no closeouts in `closeouts/`,
|
|
|
39
39
|
If the user accepts the orchestrator role:
|
|
40
40
|
|
|
41
41
|
1. Initialize `CONVENTIONS.md` from `templates/conventions-template.md` and `DECISIONS.md` from `templates/decisions-template.md` (skeletons only — populate as patterns and decisions accumulate).
|
|
42
|
-
2.
|
|
43
|
-
3. **Do not run the architecture phase yourself.** The orchestrator never executes pipeline phases — that is the implementing-session role (see §Roles). Instead, **draft an implementing-session prompt for the architecture phase** that a fresh thread will execute. Hand the prompt to the user; they spin up a new thread with it; the implementing thread runs the phase, validates, writes a closeout, and reports back; you (the orchestrator) read the returned closeout
|
|
42
|
+
2. Confirm the project name. `project_name` defaults to the repository directory name and is persisted by the framework on the first completion; it only needs attention if the project should be called something else.
|
|
43
|
+
3. **Do not run the architecture phase yourself.** The orchestrator never executes pipeline phases — that is the implementing-session role (see §Roles). Instead, **draft an implementing-session prompt for the architecture phase** that a fresh thread will execute. Hand the prompt to the user; they spin up a new thread with it; the implementing thread runs the phase, validates, writes a closeout, and reports back; you (the orchestrator) read the returned closeout and update `CONVENTIONS.md` / `DECISIONS.md` from it, then draft the next phase's prompt. The implementing session's own completion already applied its handoff to `workflow/status.yaml` — the orchestrator never edits that file. **Phase work always happens in fresh implementing-session threads, never in the orchestration thread.** A useful self-check: if you find yourself reading a `findings/<phase>/SKILL.md` or writing a `findings/<phase>/<primary-output>.md`, you have slipped into the implementing-session role — stop, draft the prompt, hand off.
|
|
44
44
|
|
|
45
45
|
If the user declines:
|
|
46
46
|
|
|
@@ -63,7 +63,7 @@ Read these files in order before doing any analysis:
|
|
|
63
63
|
|
|
64
64
|
All paths in this guide are relative to `.codecarto/` unless stated otherwise.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
A blank `project_name` in `workflow/status.yaml` needs no action: the framework resolves it to this repository's directory name and persists it on the first completion.
|
|
67
67
|
|
|
68
68
|
Treat this workspace as durable memory across sessions. Do not invent a new structure. Use the one that exists.
|
|
69
69
|
|
|
@@ -80,6 +80,7 @@ Some files in this workspace are **read-only instructions** and must not be modi
|
|
|
80
80
|
| Source code (read-only) | `../` (everything outside `.codecarto/`) | Read only. Analyze but never modify. |
|
|
81
81
|
| Synthesis input (user-maintained) | `inputs/vision.md` | The user fills this before the synthesis pipeline starts. Implementing phases read it but do not rewrite the raw brief. |
|
|
82
82
|
| Workflow state (framework-owned) | `workflow/status.yaml` | Read to understand progress. Implementing sessions never edit it directly; completion applies a validated phase handoff under a lock. |
|
|
83
|
+
| Scaffold version stamp (framework-owned) | `workflow/scaffold-version.yaml` | Written at release, copied by init. The framework compares it to its own version to warn about stale scaffolds. Never edit. |
|
|
83
84
|
| Findings (read-write) | `findings/<phase>/<primary-output>.md`, secondary output files | Create and update during phases. |
|
|
84
85
|
| Phase handoff (read-write) | `scratch/handoffs/<phase>.yaml` | Implementing sessions propose state changes and closeout content here. The framework validates and applies them. |
|
|
85
86
|
| Closeouts (framework-owned) | `closeouts/<date>-<phase-or-module>.md`, `THREAD_LOG.md` | Completion writes or updates one canonical closeout and one idempotent index entry. |
|
|
@@ -9,7 +9,7 @@ All CodeCartographer files are inside `.codecarto/`. Paths below are relative to
|
|
|
9
9
|
Read these in order before doing work:
|
|
10
10
|
|
|
11
11
|
1. `GUIDE.md` - the LLM entry point and session guide
|
|
12
|
-
2. `workflow/status.yaml` -
|
|
12
|
+
2. `workflow/status.yaml` - current progress and routed items (framework-owned: read it, never edit it)
|
|
13
13
|
3. `CONVENTIONS.md` if present - cross-cutting patterns this project follows
|
|
14
14
|
4. The current phase's existing output file, if present
|
|
15
15
|
5. The current phase's `SKILL.md`
|
|
@@ -20,18 +20,17 @@ Where to store results:
|
|
|
20
20
|
|
|
21
21
|
- Durable findings: `findings/<phase>/`
|
|
22
22
|
- Rough notes: `scratch/`
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- Cross-session log: append a one-line index entry to `THREAD_LOG.md` pointing at your closeout file
|
|
23
|
+
- State changes (owner notes, open questions, carry-forward routings): `scratch/handoffs/<phase>.yaml` — completion applies it to `workflow/status.yaml`; never edit `status.yaml` directly
|
|
24
|
+
- Closeouts and `THREAD_LOG.md`: framework-owned; supply `closeout_summary` and optional `closeout_content` in the handoff
|
|
26
25
|
|
|
27
26
|
After completing work:
|
|
28
27
|
|
|
29
28
|
1. Run validation per `workflow/VALIDATE.md`. Append the validation block to the output.
|
|
30
|
-
2.
|
|
31
|
-
3. Record 2-3 key observations in
|
|
32
|
-
4.
|
|
33
|
-
5.
|
|
34
|
-
6. If the session made cross-cutting decisions or proposed conventions,
|
|
29
|
+
2. Write `scratch/handoffs/<phase>.yaml` (see `templates/phase-handoff.yaml`): `schema_version: 1`, the exact `phase_id`, arrays for `owner_notes`, `open_questions`, `carry_forward`, `carry_forward_closures`, `open_question_closures`, `post_pipeline`, and `decisions`, plus `closeout_summary` and optional multiline `closeout_content`. See GUIDE.md "Open Questions vs Carry-Forward" for the entry shape.
|
|
30
|
+
3. Record 2-3 key observations in the handoff's `owner_notes`.
|
|
31
|
+
4. Store the durable output in the declared `findings/` path.
|
|
32
|
+
5. Run completion. The framework verifies the primary output and validation, applies the handoff to `workflow/status.yaml`, and writes the closeout and `THREAD_LOG.md` entry.
|
|
33
|
+
6. If the session made cross-cutting decisions or proposed conventions, record them in the handoff's `decisions` array and the closeout content's "Decisions Beyond Prompt" and "Proposed Conventions" sections. The orchestrator promotes them to `DECISIONS.md` and `CONVENTIONS.md` respectively.
|
|
35
34
|
|
|
36
35
|
## File-System Sync Warning
|
|
37
36
|
|
|
@@ -44,4 +43,4 @@ To stay safe:
|
|
|
44
43
|
- **Never chain Edit and bash heredocs against the same file in a single session** — pick one writer and stick with it.
|
|
45
44
|
- Keep test code in a separate file from production code so a sync gap on one doesn't poison the other.
|
|
46
45
|
|
|
47
|
-
This is not a CodeCartographer issue per se, but the framework's reliance on
|
|
46
|
+
This is not a CodeCartographer issue per se, but the framework's reliance on large narrative files (findings reports, primary outputs) magnifies the cost — every truncated write is a potential silent data loss in a load-bearing place.
|
|
@@ -57,4 +57,4 @@ If the semantic phase later finds related defects, those go in its own report
|
|
|
57
57
|
- Auth, input validation, secrets, and trust boundary defects → pass 4 in `defect-scan-semantic`.
|
|
58
58
|
- API/spec/state-machine drift → pass 5 in `defect-scan-semantic`.
|
|
59
59
|
|
|
60
|
-
If you spot something semantic during this phase, record it as a `carry_forward` entry in `
|
|
60
|
+
If you spot something semantic during this phase, record it as a `carry_forward` entry in your phase handoff at `scratch/handoffs/defect-scan-mechanical.yaml` with `target_phase: defect-scan-semantic`. Completion applies it to `workflow/status.yaml`, and the semantic phase receives it as a routed item in its prompt. Listing it only in your report's routing table does not route it.
|
|
@@ -86,7 +86,7 @@ Per the standard closeout ritual:
|
|
|
86
86
|
|
|
87
87
|
- Append a one-line entry to `THREAD_LOG.md` pointing at the closeout file.
|
|
88
88
|
- Write `closeouts/<YYYY-MM-DD>-spec-deltas.md` using `templates/closeout-template.md`.
|
|
89
|
-
-
|
|
89
|
+
- If a delta closed an `open_questions` or `carry_forward` entry, record that in the closeout. Do not edit `status.yaml` — phase state is framework-owned, and post-pipeline work has no completion step that applies handoffs, so a hand-edit here is unreviewed and can be overwritten by a later phase completion.
|
|
90
90
|
- Append numbered entries to `DECISIONS.md` for any decisions made during triage that weren't already in the deltas (e.g., "rejected Δ7 because the spec already covered the case at §X").
|
|
91
91
|
|
|
92
92
|
## What to avoid
|
|
@@ -126,7 +126,8 @@
|
|
|
126
126
|
|
|
127
127
|
<!-- Items deferred to a specific later phase whose rubric is the right place to close them.
|
|
128
128
|
Each entry: { id, kind: defer-to-phase, target_phase, description, deferred_reason }.
|
|
129
|
-
Mirror these into
|
|
129
|
+
Mirror these into your phase handoff at scratch/handoffs/<phase>.yaml under carry_forward;
|
|
130
|
+
completion applies them to workflow/status.yaml. Never write that file yourself. -->
|
|
130
131
|
|
|
131
132
|
| ID | Target Phase | Description | Deferred Reason |
|
|
132
133
|
|---|---|---|---|
|
|
@@ -114,7 +114,8 @@
|
|
|
114
114
|
<!-- Items deferred to a specific later phase whose rubric is the right place to close them.
|
|
115
115
|
Common targets from contracts: protocols (wire-format details), porting (synthesis-level resolution).
|
|
116
116
|
Each entry: { id, kind: defer-to-phase, target_phase, description, deferred_reason }.
|
|
117
|
-
Mirror these into
|
|
117
|
+
Mirror these into your phase handoff at scratch/handoffs/<phase>.yaml under carry_forward;
|
|
118
|
+
completion applies them to workflow/status.yaml. Never write that file yourself. -->
|
|
118
119
|
|
|
119
120
|
| ID | Target Phase | Description | Deferred Reason |
|
|
120
121
|
|---|---|---|---|
|
|
@@ -58,7 +58,8 @@
|
|
|
58
58
|
## Open Questions Left Behind
|
|
59
59
|
|
|
60
60
|
<!-- Items that are still genuinely unknown after this session.
|
|
61
|
-
Mirror these into
|
|
61
|
+
Mirror these into your phase handoff under open_questions; completion applies them
|
|
62
|
+
to workflow/status.yaml. This table documents them — it does not record them. -->
|
|
62
63
|
|
|
63
64
|
| ID | Kind | Description | Deferred Reason |
|
|
64
65
|
|---|---|---|---|
|
|
@@ -67,7 +68,9 @@
|
|
|
67
68
|
## Carry-Forward Routed
|
|
68
69
|
|
|
69
70
|
<!-- Items deferred to a specific later phase.
|
|
70
|
-
Mirror these into
|
|
71
|
+
Mirror these into your phase handoff under carry_forward, each with a target_phase;
|
|
72
|
+
completion applies them to workflow/status.yaml. This table documents them — it does
|
|
73
|
+
not route them. -->
|
|
71
74
|
|
|
72
75
|
| ID | Target Phase | Description | Deferred Reason |
|
|
73
76
|
|---|---|---|---|
|
|
@@ -79,8 +79,10 @@
|
|
|
79
79
|
### Routed To Semantic Phase
|
|
80
80
|
|
|
81
81
|
<!-- Items spotted during this phase that are actually semantic in nature
|
|
82
|
-
(concurrency, security, contract drift). Mirror these into
|
|
83
|
-
|
|
82
|
+
(concurrency, security, contract drift). Mirror these into your phase handoff at
|
|
83
|
+
scratch/handoffs/defect-scan-mechanical.yaml as carry_forward entries with
|
|
84
|
+
target_phase: defect-scan-semantic; completion applies them to workflow/status.yaml.
|
|
85
|
+
The table below documents the routing — it does not perform it. -->
|
|
84
86
|
|
|
85
87
|
| ID | Description | Why Routed |
|
|
86
88
|
|----|-------------|-----------|
|
|
@@ -109,7 +109,8 @@
|
|
|
109
109
|
<!-- Items deferred to a specific later phase whose rubric is the right place to close them.
|
|
110
110
|
Common target from protocols: porting (synthesis-level resolution).
|
|
111
111
|
Each entry: { id, kind: defer-to-phase, target_phase, description, deferred_reason }.
|
|
112
|
-
Mirror these into
|
|
112
|
+
Mirror these into your phase handoff at scratch/handoffs/<phase>.yaml under carry_forward;
|
|
113
|
+
completion applies them to workflow/status.yaml. Never write that file yourself. -->
|
|
113
114
|
|
|
114
115
|
| ID | Target Phase | Description | Deferred Reason |
|
|
115
116
|
|---|---|---|---|
|
|
@@ -140,7 +140,8 @@
|
|
|
140
140
|
<!-- Items deferred to a specific later phase whose rubric is the right place to close them.
|
|
141
141
|
Common target from porting: reimplementation-spec (rule-pinning, opinionated decisions).
|
|
142
142
|
Each entry: { id, kind: defer-to-phase, target_phase, description, deferred_reason }.
|
|
143
|
-
Mirror these into
|
|
143
|
+
Mirror these into your phase handoff at scratch/handoffs/<phase>.yaml under carry_forward;
|
|
144
|
+
completion applies them to workflow/status.yaml. Never write that file yourself. -->
|
|
144
145
|
|
|
145
146
|
| ID | Target Phase | Description | Deferred Reason |
|
|
146
147
|
|---|---|---|---|
|
|
@@ -85,7 +85,9 @@
|
|
|
85
85
|
|
|
86
86
|
### Carry-Forward Closure
|
|
87
87
|
|
|
88
|
-
<!-- carry_forward entries
|
|
88
|
+
<!-- carry_forward entries routed to defect-scan-semantic (delivered in this phase's prompt)
|
|
89
|
+
that were closed here. Address each in the findings above, then list its id under
|
|
90
|
+
carry_forward_closures in your phase handoff so completion removes the entry. -->
|
|
89
91
|
|
|
90
92
|
| ID | Source Phase | Closed Because |
|
|
91
93
|
|----|--------------|---------------|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
# THREAD_LOG.md Entry
|
|
1
|
+
# THREAD_LOG.md Entry Format (framework-owned)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
The full body of each session lives in a separate closeout file under `closeouts/`.
|
|
3
|
+
`THREAD_LOG.md` is written by completion, not by sessions. Completion appends one index entry per completed phase, built from the `closeout_summary` in your phase handoff and the canonical closeout filename, and skips the append when an entry already links that closeout — so retries never duplicate.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
Your input to this file is the handoff's `closeout_summary`. The full body of each session lives in a separate closeout file under `closeouts/`; for that file, use `templates/closeout-template.md`.
|
|
7
6
|
|
|
8
|
-
## Entry format
|
|
7
|
+
## Entry format produced
|
|
9
8
|
|
|
10
9
|
```
|
|
11
|
-
- YYYY-MM-DD — <phase-or-module> — <
|
|
10
|
+
- YYYY-MM-DD — <phase-or-module> — <closeout_summary> — [closeout](closeouts/YYYY-MM-DD-phase-or-module.md)
|
|
12
11
|
```
|
|
13
12
|
|
|
14
13
|
## Example
|
|
@@ -17,11 +16,10 @@ For the closeout file itself, use `templates/closeout-template.md`.
|
|
|
17
16
|
- 2026-05-02 — architecture — mapped 14 packages across 3 layers; 2 carry-forward items routed to defect-scan — [closeout](closeouts/2026-05-02-architecture.md)
|
|
18
17
|
```
|
|
19
18
|
|
|
20
|
-
##
|
|
19
|
+
## Writing a good closeout_summary
|
|
21
20
|
|
|
22
|
-
- One
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- Before appending, scan the bottom 5 entries to avoid duplicating a prior session's entry.
|
|
21
|
+
- One clause, no more than ~20 words — it has to read well inside the one-line entry above.
|
|
22
|
+
- Name what the phase established and what it routed onward, as in the example.
|
|
23
|
+
- Omitting it is allowed; completion falls back to `Validation: <overall>`, which carries no information about the work.
|
|
24
|
+
|
|
25
|
+
Everything else in the entry — the date, the phase slug, the closeout link, and de-duplication across retries — is supplied by the framework. Do not append to `THREAD_LOG.md` yourself; a hand-written entry will sit alongside the canonical one rather than replacing it.
|
|
@@ -13,8 +13,8 @@ Run this check after completing a phase's primary output, before marking the pha
|
|
|
13
13
|
4. Append a validation block to the end of the primary output file (see format below).
|
|
14
14
|
5. If any criterion is FAIL, do not mark the phase as complete. Fix the output first.
|
|
15
15
|
6. If any criterion is PARTIAL, route the gap appropriately:
|
|
16
|
-
- If the gap is **still genuinely unknown** (needs a runtime test, maintainer decision, or spec ruling that no later phase will close), record it under `open_questions`
|
|
17
|
-
- If the gap is **deferred to a specific later phase** in this pipeline (the next phase's rubric is the right place to close it), record it under `carry_forward` with an explicit `target_phase` field. See GUIDE.md "Open Questions vs Carry-Forward" for the entry shape.
|
|
16
|
+
- If the gap is **still genuinely unknown** (needs a runtime test, maintainer decision, or spec ruling that no later phase will close), record it under `open_questions` in your phase handoff at `scratch/handoffs/<phase>.yaml`.
|
|
17
|
+
- If the gap is **deferred to a specific later phase** in this pipeline (the next phase's rubric is the right place to close it), record it under `carry_forward` in the same handoff with an explicit `target_phase` field. See GUIDE.md "Open Questions vs Carry-Forward" for the entry shape.
|
|
18
18
|
- You may still mark the phase complete if the gaps are documented under one of the two lists and are non-blocking for downstream phases.
|
|
19
19
|
|
|
20
20
|
## Validation Block Format
|
|
@@ -56,20 +56,23 @@ Below is what a real PASS WITH GAPS block looks like — useful when a phase fin
|
|
|
56
56
|
**Overall:** PASS WITH GAPS
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
You record the `arch-CF2` entry in your phase handoff at `scratch/handoffs/architecture.yaml`:
|
|
60
60
|
|
|
61
61
|
```yaml
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
schema_version: 1
|
|
63
|
+
phase_id: architecture
|
|
64
|
+
carry_forward:
|
|
65
|
+
- id: arch-CF2
|
|
66
|
+
kind: defer-to-phase
|
|
67
|
+
target_phase: protocols
|
|
68
|
+
description: MCP server endpoints and websocket subscription channel listed by name only; schemas not extracted.
|
|
69
|
+
deferred_reason: Wire-format extraction is the protocols phase's rubric; deferring avoids guessing at shapes here.
|
|
70
|
+
closeout_summary: Architecture mapped; wire formats deferred to protocols.
|
|
70
71
|
```
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
Completion validates the handoff and applies the entry to `workflow/status.yaml` under the architecture phase's `carry_forward`. Never write that file yourself — see GUIDE.md "Trust Boundaries."
|
|
74
|
+
|
|
75
|
+
The protocols phase then receives `arch-CF2` in its phase prompt as a routed item. It either resolves it (addressing it in the phase output and listing the id under `carry_forward_closures` in its own handoff, so completion removes the entry atomically) or re-defers it by writing a fresh `carry_forward` entry naming a later `target_phase`.
|
|
73
76
|
|
|
74
77
|
## Rules
|
|
75
78
|
|
|
@@ -77,5 +80,5 @@ The protocols phase, on session start, scans `carry_forward` entries with `targe
|
|
|
77
80
|
- Do not inflate results. A criterion you are uncertain about is PARTIAL, not PASS.
|
|
78
81
|
- If the output file already has a validation block from a prior session, replace it with a fresh one.
|
|
79
82
|
- Validation checks the output against the pipeline's criteria only. It does not re-evaluate the source code.
|
|
80
|
-
- For automated agents: a phase with any FAIL result must not
|
|
81
|
-
- A PARTIAL row's `Evidence` cell must name what is missing and (if applicable) which `open_questions` or `carry_forward` entry tracks the gap. "Incomplete" alone is not honest enough.
|
|
83
|
+
- For automated agents: a phase with any FAIL result must not be completed. Completion refuses FAIL and MISSING validations outright.
|
|
84
|
+
- A PARTIAL row's `Evidence` cell must name what is missing and (if applicable) which `open_questions` or `carry_forward` entry tracks the gap. "Incomplete" alone is not honest enough. Record that entry in the phase handoff — an evidence cell that only *describes* the routing does not perform it.
|
|
@@ -35,5 +35,5 @@ phases:
|
|
|
35
35
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
36
36
|
handoff_requirements:
|
|
37
37
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
38
|
-
-
|
|
39
|
-
-
|
|
38
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
39
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -36,8 +36,8 @@ phases:
|
|
|
36
36
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
37
37
|
handoff_requirements:
|
|
38
38
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
39
|
-
-
|
|
40
|
-
-
|
|
39
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
40
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
41
41
|
- id: defect-scan
|
|
42
42
|
purpose: Run a multi-pass defect scan to identify bugs, security issues, and code quality problems for maintenance prioritization.
|
|
43
43
|
skill_path: findings/defect-scan/SKILL.md
|
|
@@ -59,5 +59,5 @@ phases:
|
|
|
59
59
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
60
60
|
handoff_requirements:
|
|
61
61
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
62
|
-
-
|
|
63
|
-
-
|
|
62
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
63
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -40,8 +40,8 @@ phases:
|
|
|
40
40
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
41
41
|
handoff_requirements:
|
|
42
42
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
43
|
-
-
|
|
44
|
-
-
|
|
43
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
44
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
45
45
|
- id: defect-scan
|
|
46
46
|
purpose: Run a multi-pass defect scan to identify legacy bugs, security issues, and code quality problems before porting.
|
|
47
47
|
skill_path: findings/defect-scan/SKILL.md
|
|
@@ -63,8 +63,8 @@ phases:
|
|
|
63
63
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
64
64
|
handoff_requirements:
|
|
65
65
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
66
|
-
-
|
|
67
|
-
-
|
|
66
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
67
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
68
68
|
- id: contracts
|
|
69
69
|
purpose: Recover user-visible behavior, defaults, side effects, error behavior, and black-box acceptance checks.
|
|
70
70
|
skill_path: findings/contracts/SKILL.md
|
|
@@ -95,8 +95,8 @@ phases:
|
|
|
95
95
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
96
96
|
handoff_requirements:
|
|
97
97
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
98
|
-
-
|
|
99
|
-
-
|
|
98
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
99
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
100
100
|
- id: protocols
|
|
101
101
|
purpose: Capture event catalogs, state machines, persistence formats, and compatibility hazards.
|
|
102
102
|
skill_path: findings/protocols/SKILL.md
|
|
@@ -126,8 +126,8 @@ phases:
|
|
|
126
126
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
127
127
|
handoff_requirements:
|
|
128
128
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
129
|
-
-
|
|
130
|
-
-
|
|
129
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
130
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
131
131
|
- id: porting
|
|
132
132
|
purpose: Synthesize architecture, contracts, protocols, and defect findings into a reverse-engineering bundle oriented toward porting.
|
|
133
133
|
skill_path: findings/porting/SKILL.md
|
|
@@ -165,8 +165,8 @@ phases:
|
|
|
165
165
|
- The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers.
|
|
166
166
|
handoff_requirements:
|
|
167
167
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
168
|
-
-
|
|
169
|
-
-
|
|
168
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
169
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
170
170
|
- id: reimplementation-spec
|
|
171
171
|
purpose: Produce the final language-agnostic reimplementation plan and acceptance spec.
|
|
172
172
|
skill_path: findings/reimplementation-spec/SKILL.md
|
|
@@ -189,5 +189,5 @@ phases:
|
|
|
189
189
|
- Lower-level findings are deep-read only when the porting bundle identifies a gap, conflict, missing acceptance detail, or defect rationale.
|
|
190
190
|
handoff_requirements:
|
|
191
191
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
192
|
-
-
|
|
193
|
-
-
|
|
192
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
193
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -41,8 +41,8 @@ phases:
|
|
|
41
41
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
42
42
|
handoff_requirements:
|
|
43
43
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
44
|
-
-
|
|
45
|
-
-
|
|
44
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
45
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
46
46
|
- id: defect-scan-mechanical
|
|
47
47
|
purpose: Early, context-light defect pass covering logic, error handling, and configuration hazards. Runs before contracts so mechanical bugs are surfaced for the contracts and porting phases to reference.
|
|
48
48
|
skill_path: findings/defect-scan-mechanical/SKILL.md
|
|
@@ -60,13 +60,13 @@ phases:
|
|
|
60
60
|
- Each finding has location, severity, evidence level, and recommended action.
|
|
61
61
|
- Findings are organized by pass and sorted by severity.
|
|
62
62
|
- Summary tables are complete and counts match the detailed findings.
|
|
63
|
-
- Items spotted that are actually semantic in nature are routed
|
|
63
|
+
- Items spotted that are actually semantic in nature are routed onward via a carry_forward entry in the phase handoff targeting defect-scan-semantic.
|
|
64
64
|
- Findings are marked with evidence levels.
|
|
65
65
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
66
66
|
handoff_requirements:
|
|
67
67
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
69
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
70
70
|
- id: contracts
|
|
71
71
|
purpose: Recover user-visible behavior, defaults, side effects, error behavior, and black-box acceptance checks.
|
|
72
72
|
skill_path: findings/contracts/SKILL.md
|
|
@@ -98,8 +98,8 @@ phases:
|
|
|
98
98
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
99
99
|
handoff_requirements:
|
|
100
100
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
101
|
-
-
|
|
102
|
-
-
|
|
101
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
102
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
103
103
|
- id: protocols
|
|
104
104
|
purpose: Capture event catalogs, state machines, persistence formats, and compatibility hazards.
|
|
105
105
|
skill_path: findings/protocols/SKILL.md
|
|
@@ -130,8 +130,8 @@ phases:
|
|
|
130
130
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
131
131
|
handoff_requirements:
|
|
132
132
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
133
|
-
-
|
|
134
|
-
-
|
|
133
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
134
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
135
135
|
- id: defect-scan-semantic
|
|
136
136
|
purpose: Deep, context-rich defect pass covering concurrency, security, and API contract violations. Runs after protocols so contracts/protocols context is available, and before porting so the porting phase can synthesize all defects with full understanding of the system.
|
|
137
137
|
skill_path: findings/defect-scan-semantic/SKILL.md
|
|
@@ -160,8 +160,8 @@ phases:
|
|
|
160
160
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
161
161
|
handoff_requirements:
|
|
162
162
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
163
|
-
-
|
|
164
|
-
-
|
|
163
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
164
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
165
165
|
- id: porting
|
|
166
166
|
purpose: Synthesize architecture, contracts, protocols, and both defect passes into a reverse-engineering bundle oriented toward porting. Fill the Defect Synthesis section by consolidating mechanical-defects.md and semantic-defects.md into a single porting-oriented view.
|
|
167
167
|
skill_path: findings/porting/SKILL.md
|
|
@@ -202,8 +202,8 @@ phases:
|
|
|
202
202
|
- The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers.
|
|
203
203
|
handoff_requirements:
|
|
204
204
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
205
|
-
-
|
|
206
|
-
-
|
|
205
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
206
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
207
207
|
- id: reimplementation-spec
|
|
208
208
|
purpose: Produce the final language-agnostic reimplementation plan and acceptance spec. The Strategic Alignment Hook in GUIDE.md decides between the default and opinionated template variants.
|
|
209
209
|
skill_path: findings/reimplementation-spec/SKILL.md
|
|
@@ -227,5 +227,5 @@ phases:
|
|
|
227
227
|
- Lower-level findings are deep-read only when the porting bundle identifies a gap, conflict, missing acceptance detail, or defect rationale.
|
|
228
228
|
handoff_requirements:
|
|
229
229
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
230
|
-
-
|
|
231
|
-
-
|
|
230
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
231
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -37,8 +37,8 @@ phases:
|
|
|
37
37
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
38
38
|
handoff_requirements:
|
|
39
39
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
40
|
-
-
|
|
41
|
-
-
|
|
40
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
41
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
42
42
|
- id: contracts
|
|
43
43
|
purpose: Recover user-visible behavior, defaults, side effects, error behavior, and black-box acceptance checks.
|
|
44
44
|
skill_path: findings/contracts/SKILL.md
|
|
@@ -68,8 +68,8 @@ phases:
|
|
|
68
68
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
69
69
|
handoff_requirements:
|
|
70
70
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
71
|
-
-
|
|
72
|
-
-
|
|
71
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
72
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
73
73
|
- id: protocols
|
|
74
74
|
purpose: Capture event catalogs, state machines, persistence formats, and compatibility hazards.
|
|
75
75
|
skill_path: findings/protocols/SKILL.md
|
|
@@ -99,5 +99,5 @@ phases:
|
|
|
99
99
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
100
100
|
handoff_requirements:
|
|
101
101
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
102
|
-
-
|
|
103
|
-
-
|
|
102
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
103
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -39,8 +39,8 @@ phases:
|
|
|
39
39
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
40
40
|
handoff_requirements:
|
|
41
41
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
42
|
-
-
|
|
43
|
-
-
|
|
42
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
43
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
44
44
|
- id: contracts
|
|
45
45
|
purpose: Recover user-visible behavior, defaults, side effects, error behavior, and black-box acceptance checks.
|
|
46
46
|
skill_path: findings/contracts/SKILL.md
|
|
@@ -71,8 +71,8 @@ phases:
|
|
|
71
71
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
72
72
|
handoff_requirements:
|
|
73
73
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
74
|
-
-
|
|
75
|
-
-
|
|
74
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
75
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
76
76
|
- id: protocols
|
|
77
77
|
purpose: Capture event catalogs, state machines, persistence formats, and compatibility hazards.
|
|
78
78
|
skill_path: findings/protocols/SKILL.md
|
|
@@ -102,8 +102,8 @@ phases:
|
|
|
102
102
|
- Coverage and limits name inspected scope, skipped scope, evidence basis, and blind spots.
|
|
103
103
|
handoff_requirements:
|
|
104
104
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
105
|
-
-
|
|
106
|
-
-
|
|
105
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
106
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
107
107
|
- id: porting
|
|
108
108
|
purpose: Synthesize architecture, contracts, and protocols into a reverse-engineering bundle oriented toward porting.
|
|
109
109
|
skill_path: findings/porting/SKILL.md
|
|
@@ -139,8 +139,8 @@ phases:
|
|
|
139
139
|
- The Source Index makes the bundle a self-contained compression boundary and identifies targeted deep-read triggers.
|
|
140
140
|
handoff_requirements:
|
|
141
141
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
142
|
-
-
|
|
143
|
-
-
|
|
142
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
143
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
144
144
|
- id: reimplementation-spec
|
|
145
145
|
purpose: Produce the final language-agnostic reimplementation plan and acceptance spec.
|
|
146
146
|
skill_path: findings/reimplementation-spec/SKILL.md
|
|
@@ -163,5 +163,5 @@ phases:
|
|
|
163
163
|
- Lower-level findings are deep-read only when the porting bundle identifies a gap, conflict, missing acceptance detail, or defect rationale.
|
|
164
164
|
handoff_requirements:
|
|
165
165
|
- Run validation per workflow/VALIDATE.md. Append validation block to primary output.
|
|
166
|
-
-
|
|
167
|
-
-
|
|
166
|
+
- Write the phase handoff to scratch/handoffs/<phase>.yaml with owner notes, open questions, and carry-forward routings; completion applies it to workflow/status.yaml.
|
|
167
|
+
- Provide closeout_summary and optional closeout_content in the handoff; completion writes the closeout and THREAD_LOG.md entry.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Version of the CodeCartographer release that shipped this .codecarto/
|
|
2
|
+
# scaffold. The framework compares it against its own version to warn when a
|
|
3
|
+
# workspace's framework-owned files (GUIDE.md, templates/, workflow/ pipelines
|
|
4
|
+
# and VALIDATE.md) predate the running release. Written at release time and
|
|
5
|
+
# copied verbatim by init — never edit by hand.
|
|
6
|
+
scaffold_version: 0.14.0
|