Files
orca/.ciagent/REQUIREMENTS.md
T
ciagent f503404dda docs(audit): fix .ciagent/ file discipline findings from v0.2 P01 audit
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 in
   d10f89d (v0.1 milestone) and lost from main during the parallel-
   history resolution that produced origin/main's be9afa2 PR-#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---
2026-06-03 22:19:45 +00:00

6.0 KiB
Raw Blame History

Requirements: Orca

The canonical requirements table. Each row carries the REQ-ID, the milestone it belongs to, the requirement summary, priority, the phase that addresses it, and the current status. This single table is the source of truth — superseded any per-milestone status tables in earlier versions of this file.

ID Requirement Priority Phase Status
REQ-001 Go 1.25+ toolchain support High v0.1 P01 Complete
REQ-002 CLI-first interface for all operations (single binary) High v0.1 P01 Complete
REQ-003 Offline-first operational mode (no cloud deps) High v0.1 Complete
REQ-004 Basic task deployment (single-node process execution) Medium v0.1 P03 Complete (single-node); multi-node dispatch in v0.2 P02
REQ-005 Local state storage via modernc/sqlite (CGO-free) Medium v0.1 P02 Complete
REQ-006 Security-first audit logging via log/slog High v0.1 P04 Complete
REQ-007 CoreCI full release flow integration via .coreci.yml High v0.1 P06 Complete (per-phase releases)
REQ-008 Structured JSON logging (slog) High v0.1 P05 Complete
REQ-009 HCL/YAML job spec parsing Medium v0.1 P03 Complete
REQ-010 --json output flag for machine consumption High v0.1 P01 Complete
REQ-011 mTLS for inter-node communication Medium v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-012 ~/.orca/config.hcl and /etc/orca/orca.hcl config locations Low v0.1 P01 Complete (CLI uses ~/.orca/ + ORCA_DB env)
REQ-013 Pre-push git hook triggers CoreCI on every push High v0.1 P01 Complete
REQ-014 gosec + govulncheck in CI pipeline High v0.2 P03 Pending (P03)
REQ-015 MIT LICENSE Low v0.1 P01 Complete
REQ-016 README.md with quickstart Medium v0.1 P01 Complete
REQ-017 context.Context propagation in all I/O High v0.1 Complete
REQ-018 Error wrapping with fmt.Errorf("...: %w", err) High v0.1 Complete
REQ-019 Cobra CLI framework High v0.1 P01 Complete
REQ-020 HCL parser integration (hashicorp/hcl) Medium v0.1 P03 Complete
REQ-021 os/exec with WaitDelay (Go 1.25+) Medium v0.1 P03 Complete
REQ-022 iter.Seq for streaming job lists (Go 1.25+) Low v0.2 P04 Pending (P04)
REQ-023 Self-signed mTLS cert generation Medium v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-024 Makefile with standard targets High v0.1 P01 Complete
REQ-025 Bounded cert rotation history: retain last N=3 server certs per node for rollback Medium v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-026 Trusted-CA fingerprint pinned in config; daemon refuses to start on mismatch High v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-027 govulncheck runs in offline mode in CI (no vuln.go.dev calls; pre-mirrored DB or -format json + jq gate) High v0.2 P03 Pending (P03)
REQ-028 HCL/YAML schema for NodeCapacity declaration (orca node join flag and/or ~/.orca/node.hcl) High v0.2 P02 Pending (P02)
REQ-029 gitleaks baseline file committed to repo to suppress pre-existing .env SHA-1 leak in git history Medium v0.2 P03 Pending (P03)
REQ-030 --watch output format mode: table (default) vs streaming one-line JSON per event Low v0.2 P04 Pending (P04)
REQ-031 go test -race enabled in CI for all v0.2 packages High v0.2 P01P04 Complete for P01 (cross-cutting, verified P01); P02P04 ongoing
REQ-032 orca doctor subcommand for diagnostics (CA/cert health, db integrity, peer reachability) Medium v0.2 P01 Complete for cert checks (P01); network/db are stubs, full impl in P02
REQ-033 Cert file mode enforcement: 0600 for keys, 0644 for certs (refuses to start on violation) High v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-034 Cert proactive rotation alarm: structured slog WARN 30 days before not_after Medium v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-035 orca cert show redacts private key material from default and --json output High v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-036 Server cert SAN validation: SAN entries (DNS + IP) populated at sign-time; refuses to sign a CSR without them High v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-037 X-Orca-Idempotency-Key header on cross-node POST; dispatcher retries only when header is present Medium v0.2 P02 Pending (P02)
REQ-038 Structured slog fields for mTLS failures: event=mtls.handshake, peer, cert_fp, err Medium v0.2 P01 Complete (P01 shipped v0.2.1)
REQ-039 .gitleaks.toml extended with stopwords for test data paths and CA cert PEM blocks Medium v0.2 P03 Pending (P03)
REQ-040 .golangci.yml unified lint config superseding per-tool invocations Low v0.2 P03 Pending (P03)

v0.1 Milestone Summary

Status: Complete — all 6 phases shipped (P00P06) plus P07 backfill, 4-layer verification passed at every phase, tagged v0.2.0 per run.md versioning logic (next-minor after all feature-patches v0.1.1..v0.1.7 ship).

Coverage: 21/24 v0.1-declared requirements complete by v0.1 ship; the 3 deferred (REQ-011, REQ-014, REQ-022, REQ-023) all moved to v0.2. Plus REQ-025..REQ-040 (16 net-new) added by v0.2 IDEATE stage.

v0.2 Milestone Summary

Status: In Progress — P01 (mTLS) shipped (v0.2.1). 3 phases remain (P02 multi-node scheduling, P03 gosec+govulncheck+gitleaks, P04 iter.Seq). P01 covered REQ-011, REQ-023, REQ-025, REQ-026, REQ-031, REQ-032 (partial), REQ-033, REQ-034, REQ-035, REQ-036, REQ-038 (10 REQs complete; REQ-032 complete for cert checks only).

Deferred to v0.3

  • pprof endpoint on orca daemon (idea I-308, 0.70 confidence): deferred to keep v0.2 lean; revisit in v0.3 once P02's dispatcher is stable.