CIAgent audit (.ciagent/AUDIT_v0.2_P01.md) surfaced 3 .ciagent/ file discipline issues. This commit addresses all 3: 1. config.json: re-add the 'workflow' top-level block. It was added ind10f89d(v0.1 milestone) and lost from main during the parallel- history resolution that produced origin/main'sbe9afa2PR-#1 merge. The 4 standing rules (no_hitl, release_flow_per_phase, merge_strategy, branching) are restored. 2. PROJECT.md: add literal '## What This Is' and '## Key Decisions' section headers. The v0.1 audit-fix (f1c55ca) added the content inline but without the explicit headers, so the audit check missed them. The Key Decisions section summarizes D-011..D-018. 3. REQUIREMENTS.md: consolidate two overlapping REQ tables (the v0.1 status table and the v0.2 traceability table) into a single canonical table covering all 40 REQs (REQ-001..REQ-040). Each row has REQ-ID, summary, priority, phase, status. v0.1 REQs show 'Complete'; v0.2 REQs show 'Complete' (P01 shipped) or 'Pending (P##)'. The v0.1 Milestone Summary and v0.2 Milestone Summary sections are preserved below the table. 4. AUDIT_v0.2_P01.md: the audit report itself, with reconstruction state, file discipline table, branch hygiene, commit discipline, and the 3 findings above (plus non-blocking observations). The report's verdict: 'v0.2 P01 ship is healthy; 3 issues are paper-cleanup items addressed in this commit. None block P02 EXECUTE.' ---ci--- project: orca phase: 0 milestone: v0.2 status: fix ---/ci---
6.5 KiB
description, date, audit
| description | date | audit |
|---|---|---|
| CIAgent audit report — v0.2 P01 mTLS ship + v0.1 backfill state | 2026-06-03 | ciagent-audit |
Audit Report — v0.2 P01 mTLS Ship
Reconstruction: PASS
The project state is fully reconstructable from ---ci--- blocks in git log.
Reconstructed Timeline (newest first)
| SHA | Phase | Milestone | Status |
|---|---|---|---|
f31bed2 |
8 | v0.2 | ship (v0.2.1) |
1b14a5b |
8 | v0.2 | verify |
31ccb52 |
8 | v0.2 | execute (B/C/D wave) |
181cc76 |
8 | v0.2 | execute (A wave) |
bed5a2e |
0 | v0.2 | plan |
1ee82fc |
0 | v0.2 | ideate |
08d321f |
0 | v0.2 | research |
b48f5cf |
0 | v0.2 | clarify |
907f25e |
0 | v0.2 | specify |
e600e25 |
0 | v0.1 | complete |
00127ce |
7 | v0.1 | ship (security untrack) |
b1b2e3d |
7 | v0.1 | execute |
4fd17c5 |
7 | v0.1 | execute |
995892a |
7 | v0.1 | ship (v0.1.7) |
dc67522 |
7 | v0.1 | verify |
477b08c |
7 | v0.1 | execute |
de69788 |
7 | v0.1 | execute |
d10f89d |
0 | v0.1 | execute (workflow block — see finding #1) |
f1c55ca |
0 | v0.1 | fix |
37b6a14 |
0 | v0.1 | fix (entry-point) |
939ce8b |
6 | v0.1 | complete |
d76ff84 |
0 | v0.1 | complete (v0.1.6/v0.2.0) |
Reconstructed state matches the actual branch/HEAD state of main, milestone/v0.1-initial, and milestone/v0.2-networking-observability-security.
.ciagent/ File Discipline
| File | Status | Notes |
|---|---|---|
config.json |
⚠️ Partial | Valid JSON, top-level keys present, but workflow subfield MISSING (see finding #1) |
PROJECT.md |
⚠️ Partial | Required sections present (Requirements, Constraints); What This Is and Key Decisions are referenced in the v0.1 audit-fix but the literal section headers are absent (see finding #2) |
ROADMAP.md |
✅ Pass | v0.1 marked COMPLETE; v0.2 marked IN PROGRESS with 4 phases listed |
REQUIREMENTS.md |
⚠️ Issue | Two overlapping REQ tables (see finding #3) |
ARCHITECTURE.md |
✅ Pass | v0.2 sections (transport, doctor, certificate data model, 4 v0.2 flows) match the code structure under internal/transport, internal/doctor, internal/security |
PLANS.md |
✅ Pass | 4 v0.2 phase plans present (P08–P11) with REQ coverage and must-haves |
PERSONAS.md |
✅ Pass | v0.2 personas documented (network-engineer, phase_specific assignments) |
IDEATION.md |
✅ Pass | 30 v0.1 + 35 v0.2 ideas, 64 accepted |
RELEASE_POLICY.md |
✅ Pass | 4 standing rules documented |
PHASE{5,6}_VERIFICATION.md |
✅ Pass | Verifier artifacts present |
PHASE7_SECURITY_AUDIT.md |
✅ Pass | P0 secret leak documented for human remediation |
Branches
| Branch | Status | Notes |
|---|---|---|
main |
At bed5a2e (PLAN commit, v0.2 P00) |
Not yet merged with v0.2 milestone |
milestone/v0.1-initial |
At 995892a (P07 ship) |
Frozen; v0.1 complete |
milestone/v0.2-networking-observability-security |
At f31bed2 (P01 ship) |
Active; P01 shipped |
phase/01..07 (v0.1) |
Local only; mostly not pushed | P07 (v0.1) is on origin; P01-P06 either on origin (P01-P04) or local-only (P05, P06) |
phase/08-mtls |
At 1b14a5b (verify) |
P01 verified; pre-ship SHA |
phase/09-scheduling |
At f31bed2 |
P02 branch created, no work yet |
Active work: phase/09-scheduling (P02). All other phase branches are either merged or frozen.
Commits
- 54 total commits across all branches
- 48 commits with
---ci---block (89%) - 6 commits without
---ci---block: 5 historical v0.1 ship commits (P02–P04, predating the convention) + 1 external PR-#1 merge commit (be9afa2) - No unresolved escalations; no stale decisions older than the v0.1 milestone
P0 Findings (require remediation before v0.2 milestone→main ship)
Finding #1: config.json workflow block missing
The workflow block (added in d10f89d for v0.1) was lost from main during the parallel-history resolution. The v0.1 milestone branch has it; main does not. This is a real divergence that needs to be re-applied to main before merging the v0.2 milestone.
Remediation: Re-apply the workflow block to config.json on main. This is a one-commit fix (forward-merge the d10f89d change to the file alone).
Finding #2: PROJECT.md section header drift
The audit-fix in v0.1 (f1c55ca) added content to PROJECT.md describing "What This Is" and "Key Decisions" but used inline prose rather than literal ## What This Is and ## Key Decisions section headers. The content is there; the structural markers are not. The audit check fails to find them.
Remediation: Add literal ## What This Is and ## Key Decisions headers (or update the audit to match the inline style). Low priority.
Finding #3: REQUIREMENTS.md has two overlapping tables
The v0.1 audit-fix (f1c55ca) added a richer traceability table (with REQ-ID, summary, priority, status, phase, ideation-source) below the v0.1 status table. The v0.2 ideation agent's update flipped REQ-011/014/022/023 from "Deferred (v0.2)" to "Pending (v0.2 PXX)" in the v0.1 table but did NOT touch the new traceability table — so the same REQs appear in BOTH tables with different status wording.
Remediation: Consolidate to a single table. Either delete the v0.1 status table (preserving only the v0.2 traceability table), or update the v0.1 table to defer to the v0.2 table. Recommend the former: the v0.2 table is more informative.
Non-Blocking Observations
- scripts/release.sh bug: The
tea releases createcall is missing--repo coreci/orca. Worked around in P01 by invokingteadirectly. Worth a P0 fix in P03 (security-scan phase is a natural cleanup point). - 5 historical ship commits lack
---ci---blocks: Predate the convention. The reconstructed state from git log is sufficient — these don't break reconstruction. - PR-#1 merge commit (
be9afa2): External commit (not CI-generated); doesn't need a---ci---block. - P07 has a duplicate ship commit (
56b4274on phase branch,e96427bon milestone). Cosmetic; the content is the same.
Overall
- Reconstruction: PASS (89% of commits have
---ci---blocks; the rest are historical and don't break reconstruction) - .ciagent/ files: 3 issues, 1 P0, 2 cosmetic
- Branches: clean (all active branches have recent work; no orphans)
- Commits: clean (no stale decisions, no escalations)
Verdict: The v0.2 P01 ship is healthy. The 3 issues are paper-cleanup items that should be addressed in a follow-up commit before the v0.2 milestone→main merge. None of them block P02 EXECUTE.