2443909362
---ci--- project: nova-platform milestone: v1.0 status: complete requirements: covered: [REQ-01,REQ-02,REQ-03,REQ-04,REQ-05,REQ-06,REQ-07,REQ-08,REQ-09,REQ-10,REQ-11,REQ-12,REQ-13,REQ-14,REQ-15,REQ-16,REQ-17,REQ-18,REQ-19,REQ-20,REQ-21,REQ-22,REQ-23,REQ-24,REQ-25,REQ-26,REQ-27,REQ-28,REQ-29,REQ-30,REQ-31,REQ-32,REQ-33,REQ-34,REQ-35,REQ-36,REQ-37,REQ-38] partial: [] ---/ci--- v1.0 milestone complete: simplified infrastructure-delivery platform derived from Nova (acdl). 6 phases (P0-P5 + P6 final). 38 REQ-IDs. 38 decisions (D-001..D-038). 76 tests pass. Engine boundary holds. Happy paths green (check-only + CI). 13 L1 + 2 L2 modules. 5 terraform roots. Shell reproducibility. Zero OOS files. Tags: v0.1.0 (P0) → v0.1.1..v0.1.5 (P1..P5) → v0.1.6 (P6 = milestone release on v0.1 patch line).
98 lines
4.9 KiB
Markdown
98 lines
4.9 KiB
Markdown
# Nova Platform — Infrastructure Delivery
|
|
|
|
> **Derived from** the Nova reference (`acdl`) — a simplified,
|
|
> infrastructure-only platform. The DevSecOps, security-scoring,
|
|
> identity/ABAC, audit-ledger, and central CI-pipeline-contract machinery
|
|
> of the reference are intentionally **removed**. What remains is the
|
|
> infrastructure-delivery core: a consumer declares intent via a YAML
|
|
> contract; the platform resolves it to a stack, compiles it through the
|
|
> Terraform adapter, and applies it. Structural conventions (directory
|
|
> names, file roles, module interface shape, registry format) are
|
|
> preserved with 9 locked deviations (D-012, D-013, D-015, D-017,
|
|
> D-018, D-019, D-022, D-023, D-025, D-027 — see CLARIFY.md) from the
|
|
> reference.
|
|
|
|
## Vision / Core Value
|
|
|
|
Consumers declare infrastructure intent; the platform delivers it. The
|
|
platform absorbs one friction: the cognitive load of getting the
|
|
infrastructure right. A consumer writes a small YAML contract that names
|
|
one or more modules by name + version, selects an environment, and
|
|
supplies module-specific inputs. The platform resolves the contract to a
|
|
stack instance, compiles it through the Terraform adapter, and applies
|
|
it. There is no security scoring, no audit chain, no identity layer, and
|
|
no reusable CI workflow — those are explicitly out of scope.
|
|
|
|
Source of truth for **how**: `docs/architecture.md` +
|
|
`.ciagent/ARCHITECTURE.md`. Where the two conflict, ARCHITECTURE.md wins.
|
|
|
|
## North Star
|
|
|
|
A merged change progresses through lower environments without a platform
|
|
engineer authoring a workflow, a configuration file, or a Terraform
|
|
module. A consumer declares infrastructure and the platform applies it.
|
|
Every deployment is reproducible from the shell, not just in CI.
|
|
|
|
## Core Tenets
|
|
|
|
1. **Operations are Declared, Not Executed.** Consumers define what
|
|
they need; the platform reconciles, provisions, and applies.
|
|
2. **The Delivery Lifecycle is a Sovereign Boundary.** The platform
|
|
governs infrastructure only; it does not reach into upstream product
|
|
/ SDLC. Integration is only through the validated contract boundary.
|
|
3. **Dev is Autonomous; Higher Environments are Manual.** Dev applies
|
|
autonomously. QA/prod/dr are applied by an operator (no attestation
|
|
machinery — out of scope).
|
|
4. **Infrastructure is Consumed, Not Maintained.** No node/OS/bare-metal
|
|
lifecycle. The platform manages environments (accounts, VPCs, state
|
|
backends); consumers provide none.
|
|
5. **One Consumer Surface.** A consumer writes a YAML contract and a
|
|
thin shell invocation. That is the entire surface.
|
|
|
|
## Domain Boundaries
|
|
|
|
- **In scope:** environment progression; cloud resource lifecycle;
|
|
contract resolution; Terraform adapter; module catalog (L1 primitives +
|
|
L2 patterns); local shell reproducibility; offline tests.
|
|
- **Out of scope:** application business logic; IDE workflows; product
|
|
backlog; security scoring; policy enforcement; audit ledger;
|
|
confidence signals; identity/ABAC; HITL attestation; reusable CI
|
|
workflows; metrics/telemetry of the platform itself.
|
|
- **Interface:** upstream systems integrate through the contract
|
|
boundary (`schemas/contract.schema.json`). The platform validates,
|
|
resolves, and reconciles the target state.
|
|
|
|
## Scope: Nova Platform is Downstream of PDLC
|
|
|
|
The Product Development Lifecycle (PDLC) — product backlog, code
|
|
authorship, IDE workflows, application business logic — is **upstream**
|
|
of Nova Platform. Nova Platform never reaches into the PDLC. Its domain
|
|
is **infrastructure + delivery only**: environment progression, cloud
|
|
resource lifecycle.
|
|
|
|
Integration between the PDLC and Nova Platform is **only** through the
|
|
validated contract boundary (`schemas/contract.schema.json`).
|
|
|
|
## Decisions (locked in init)
|
|
|
|
- **D-001:** Milestone type = `major` (first release, no prior tags).
|
|
The final phase of v1.0 ships `v1.0.0` and that IS the initial release.
|
|
- **D-002:** Module count for v1.0 = all 13 L1 primitives + 2 L2 patterns
|
|
in one milestone (matches the reference v1.0 shape).
|
|
- **D-003:** `config.git.branching_strategy` = `phase` (canonical
|
|
CIAgent branch hierarchy; fresh project).
|
|
- **D-004:** `config.git.auto_commit` / `auto_push` = `true` / `true`.
|
|
- **D-005:** `config.verification.test_first` = `false`.
|
|
- **D-006:** Personas = lead-developer + data-engineer (terraform) +
|
|
backend-engineer (core python); frontend-engineer deactivated (no UI).
|
|
- **D-007:** `config.policy` removed entirely (no policy engine).
|
|
`config.ideation.categories` reduced to quality/architecture/coverage/
|
|
improvement (security dropped).
|
|
- **D-008:** `config.secrets.scopes` = forge/gitea/github/gitlab +
|
|
openai/anthropic/ollama_cloud (model backends). `NOVA_FORGE_TOKEN` is
|
|
the gitea scope var.
|
|
- **D-009:** `config.ship.confirm_before_ship` = `true` (supervised
|
|
autonomy escalates on ship).
|
|
- **D-010:** `config.telemetry.persist` = `true` (CIAgent telemetry !=
|
|
platform metrics; the metrics layer is dropped but CIAgent's own
|
|
run audit trail is preserved). |