v0.2 IDEATE stage. 29 new ideas generated (10 Tier 1 mechanical + 11
Tier 2 backend-enriched + 8 Tier 3 cross-project) plus 6 research-stage
candidates (REQ-cand-A..F from commit 08d321f) = 35 considered. Under
full autonomy, all 35 with confidence >= 0.60 are auto-accepted; 1
explicitly deferred to v0.3 (I-308 pprof). 34 accepted into v0.2.
Resulting net-new REQs (REQ-025..REQ-040) span P01-P04:
- P01 (mTLS): REQ-025 (cert rotation history), REQ-026 (CA fingerprint
pinning), REQ-032 (orca doctor), REQ-033 (file mode enforcement),
REQ-034 (rotation alarm), REQ-035 (cert show redaction), REQ-036
(SAN validation), REQ-038 (mTLS failure log fields)
- P02 (multi-node): REQ-028 (NodeCapacity HCL schema, P02 enabler),
REQ-037 (X-Orca-Idempotency-Key)
- P03 (security CI): REQ-027 (govulncheck offline mode -- changes P03
scope: CI must not call vuln.go.dev), REQ-029 (gitleaks baseline for
pre-existing .env leak), REQ-039 (.gitleaks.toml stopwords),
REQ-040 (.golangci.yml)
- P04 (iter.Seq): REQ-030 (--watch --json mode)
- Cross-cutting: REQ-031 (go test -race)
Total v0.2 REQs: 20 (4 carried from v0.1 + 16 net-new).
ARCHITECTURE.md: added `internal/doctor/` component (§5) with
orca doctor {cert,network,db} subcommands; ASCII diagram updated.
ROADMAP.md: per-phase REQ coverage matrix added; P03 scope change
documented (govulncheck offline mode).
PROJECT.md: unchanged (vision is stable).
---ci---
project: orca
phase: 0
milestone: v0.2
status: ideate
---/ci---
3.4 KiB
Roadmap: Orca
Milestone v0.1: Foundation — COMPLETE
- Phase 0: Project Initialization & Specification
- Phase 1: Core CLI Skeleton & Command Parsing
- Phase 2: Basic Node Management (Join/Leave)
- Phase 3: Simple Task Execution Engine
- Phase 4: Local State Persistence
- Phase 5: Basic Health Checking
- Phase 6: CoreCI Full Release Flow
Tagged v0.2.0 (next-minor per feature-milestone promotion rule).
Deferred to v0.2 (out of scope for v0.1)
- Multi-node scheduling (D-004 decision: single-node only in v0.1)
- mTLS for inter-node communication (REQ-011, REQ-023)
gosec+govulncheckin CI pipeline (REQ-014)iter.Seqstreaming job lists (REQ-022)- Frontend / devops personas (no web UI; CoreCI handles release)
Milestone v0.2: Networking, Observability, Security Hardening — IN PROGRESS
Scope: extend v0.1 with secure cross-node transport, multi-node scheduling, richer CI security scanning, and streaming I/O.
- Phase 8: mTLS handshake + internal CA with CSR join (Wave 1)
- Phase 9: Multi-node scheduling & job dispatch (Wave 1)
- Phase 10:
gosec+govulncheck+ gitleaks in CI (Wave 2) - Phase 11:
iter.Seqstreaming job/node lists (Wave 2)
Target milestone tag: v0.3.0 (next-minor per feature-milestone promotion rule).
Per-phase tags: v0.2.1 (P01), v0.2.2 (P02), v0.2.3 (P03), v0.2.4 (P04).
Per .ciagent/RELEASE_POLICY.md, every phase tag produces a Gitea release.
Per-phase REQ coverage (post-IDEATE)
-
P01 — mTLS handshake + internal CA with CSR join (Wave 1)
- REQ-011, REQ-023 (carried over from v0.1)
- REQ-025 (cert rotation history), REQ-026 (CA fingerprint pinning), REQ-033 (file mode enforcement), REQ-034 (rotation alarm), REQ-035 (cert show redaction), REQ-036 (SAN validation), REQ-038 (mTLS failure log fields)
- REQ-032 (orca doctor — initial implementation; checks CA/cert state)
-
P02 — Multi-node scheduling & job dispatch (Wave 1)
- REQ-028 (NodeCapacity HCL schema — P02 enabler; lands first)
- REQ-037 (X-Orca-Idempotency-Key on cross-node POST)
-
P03 —
gosec+govulncheck+ gitleaks in CI (Wave 2)- REQ-014 (carried over)
- REQ-027 (govulncheck offline mode — new in v0.2 IDEATE, per REQ-cand-C;
this changes P03's scope: CI must not call
vuln.go.devby default; resolve via pre-mirrored DB or-format json+jqwrapper. PLAN stage decides between the two options.) - REQ-029 (gitleaks baseline for pre-existing
.envleak in history, per REQ-cand-E) - REQ-039 (
.gitleaks.tomlstopwords), REQ-040 (.golangci.yml)
-
P04 —
iter.Seqstreaming job/node lists (Wave 2)- REQ-022 (carried over)
- REQ-030 (
--watch --jsonstreaming output mode, per REQ-cand-F)
-
Cross-cutting (P01–P04)
- REQ-031 (
go test -raceenabled in CI for all v0.2 packages)
- REQ-031 (
P03 scope change (vs. pre-IDEATE plan)
REQ-027 (govulncheck offline mode) adds explicit work to P03: the CI
job must be configured to NOT make outbound calls to vuln.go.dev
(default govulncheck behavior). Two implementation paths are viable;
PLAN chooses:
- Pre-mirror the vulnerability database inside the CoreCI image
(
GOVULNCHECK_DB=/path/to/local.db). - Use
govulncheck -format json(which always exits 0) and gate merges via a wrapper that parses the JSON and returns non-zero on unsuppressed findings.
Either path keeps the offline-first invariant (REQ-003) intact.