CIAgent Orchestrator
932923ee99
merge(milestone): v1.29 Reposplit + Identity Layer Bring-Live to main (release v1.28.6)
...
Nova Slides Render / render (push) Failing after 22s
---ci---
project: acdl
phase: 6
milestone: v1.29
status: complete
---/ci---
2026-08-20 05:29:46 +00:00
Jon Chery
1863a85144
feat(P04): nova idp setup --check/--apply/--verify (REQ-340/341, C-2.1, backend+cli)
...
---ci---
project: acdl
phase: 4
milestone: v1.28
status: execute
persona: backend-engineer
---
2026-08-19 23:13:21 +00:00
Jon Chery
14809327fb
feat(P04): PAT lifecycle + nova auth login/revoke/status (REQ-342..344, C-7.3, security+cli)
...
---ci---
project: acdl
phase: 4
milestone: v1.28
status: execute
persona: cli-engineer
---
2026-08-19 23:11:16 +00:00
Jon Chery
c9bfc98713
feat(P02): nova apply --local --sign-local-review (REQ-330, REQ-332, backend-engineer)
...
---ci---
project: acdl
phase: 2
milestone: v1.28
status: execute
persona: backend-engineer
---
nova apply subcommand (44 lines, CAP-034: <=50 lines, <=3 functions, no if
except __main__ guard). --local calls core.env.synthesize_local_env() +
core.contract_resolver.resolve(). --sign-local-review calls
core.jws_attestation.sign_attestation() (REQ-332) and appends the JWS to the
output. Delegates to core/ — no business logic in the subcommand (NFR-7).
Auto-registered via nova/cli.py pkgutil discovery; CAP-033/034 tests pass.
2026-08-19 22:49:04 +00:00
Jon Chery
2ed2b3ae0f
feat(P01): nova subcommands — thin delegates to core/* (CAP-033/034, cli-engineer)
...
One nova/<name>.py per user-facing core/ module. Each ≤50 lines, ≤3
FunctionDef (add_parser + run [+1 helper]), every user-function call
resolves to a core.* import, no `if` statements except `if __name__`.
Subcommands:
- nova resolve → core.contract_resolver.resolve
- nova decommission → core.decommission_transform.decommission_transform
- nova env-transition detect|record → core.env_transition
- nova env-check → core.environment_check.check
- nova hitl → core.hitl_gates.attest (+ approver_from_env)
- nova onboard → core.onboarding.generate_env_file
- nova outbox → core.outbox_writer.write_event
- nova publish-outputs → core.output_publisher.publish_to_ssm + format_comment
- nova policy → core.policy_engine.get_engine + get_policy_root (status)
- nova regression → core.regression_verify.run_regression + write_report
- nova sod → core.separation_of_duties.check
- nova readiness → core.submission_readiness.cli_main
- nova attestation-matrix → core.attestation_matrix.cli_main (new thin wrapper)
- nova confidence → core.confidence_signal.cli_main (new thin wrapper)
core wrappers added (minimal): attestation_matrix.cli_main,
confidence_signal.cli_main — extracted from their __main__ blocks so
the nova subcommands stay thin.
---ci---
project: acdl
phase: 1
milestone: v1.28
status: execute
persona: cli-engineer
---/ci---
2026-08-19 22:25:00 +00:00
Jon Chery
83883076ff
feat(P01): nova init scaffold (REQ-325, cli-engineer)
...
- core/init_scaffold.py: scaffold(root, force) creates .nova/,
.nova/contract.yml.attestations/, and appends secrets-exclusion lines
to .gitignore (~/.nova/credentials.json, .nova/credentials.json,
*.pem, *.key, .env, .env.*). Refuses overwrite without --force.
- nova/init.py: thin subcommand parsing --force, delegates to
core.init_scaffold.scaffold.
---ci---
project: acdl
phase: 1
milestone: v1.28
status: execute
persona: cli-engineer
---/ci---
2026-08-19 22:24:17 +00:00
Jon Chery
0388751c6e
feat(P01): nova/cli.py entry point + dispatch + audit (REQ-324, INV-12, cli-engineer)
...
- main(argv) builds top-level argparse(prog="nova") with required subparsers.
- Auto-discovers nova/<module>.py via pkgutil.iter_modules(nova.__path__),
skipping `cli`; each module exports add_parser(subparsers) + run(args) -> int.
- Before dispatch: resolve_mode_from_env() → emit cli.invocation audit
event (INV-12) as a stderr JSON line stub with mode, selection_reason,
credential_type, command, args. Real outbox wiring comes later.
- Dispatch: args._run(args); exit code via sys.exit(main()).
- nova/__init__.py empty package marker.
---ci---
project: acdl
phase: 1
milestone: v1.28
status: execute
persona: cli-engineer
---/ci---
2026-08-19 22:24:07 +00:00