Skip to content

CLI: scaffold publish requirements#956

Draft
zkwentz wants to merge 1 commit into
rfc008-14-report-integrityfrom
rfc008-15-publish-requirements
Draft

CLI: scaffold publish requirements#956
zkwentz wants to merge 1 commit into
rfc008-14-report-integrityfrom
rfc008-15-publish-requirements

Conversation

@zkwentz

@zkwentz zkwentz commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

What & Why

Strict publish validation needs declared resource and network requirements, but legacy scaffolds omitted them. This PR adds a Harbor schema 1.1 task.toml to new environments and gives echo_env a truthful canonical envelope.

Risk & Review Guidance

  • Risk level: MEDIUM — changes generated project configuration and introduces a migration requirement
  • Task class: migration
  • Review focus: src/openenv/cli/templates/openenv_env/task.toml:1 for generated defaults; envs/echo_env/task.toml:1 for canonical values; generator checklist updates for truthful configuration
  • Blast radius: Bad defaults can request the wrong hardware/network posture or encourage authors to copy inaccurate requirements.

Decisions & Alternatives

  • Schema 1.1 is auxiliary input — keeps the core planner spec-neutral.
  • Scaffold conservative explicit fields — authors must review CPU, memory, storage, GPU, and internet values.
  • Do not bulk-invent configs for legacy environments — unknown requirements remain visible blockers.

Verification

  • PASS: PYTHONPATH=src:envs .venv/bin/python -m pytest tests/ -q -m 'not integration' — 1,559 passed, 114 skipped, 31 external integration tests deselected on the complete stack.
  • PASS: Fork whole-stack CI — 7/7 checks passed, including Python 3.11/3.12, lint, docs, lock validation, and package smoke tests.
  • NOT verified: Resource values for legacy environments were intentionally not inferred.

Scope & Non-Goals

  • This PR does not migrate every existing environment; owners need to declare truthful values.

Breaking Changes / Migration Notes

New openenv init output includes task.toml. Older environments must add a truthful requirements envelope before the strict publish gate can pass.

Stack

PR 15 of 17; depends on #955.

Full 17-PR stack
  1. #942 RFC 008: Spec-neutral local and remote validation architecture
  2. #943 Validation foundation: spec-neutral contracts and adapters
  3. #944 Validation policy: spec-aware check registry and planner
  4. #945 Validation executor: hardened shared reports and eligibility
  5. #946 Local validation API: execution-model-aware profiles
  6. #947 CLI: validation profiles and shared reports
  7. #948 HF runtime: dedicated sandbox execution mode
  8. #949 HF certification: enforce trusted dedicated isolation
  9. #950 [RFC 008] Define remote author validation and publish gating
  10. #951 Validation: unify CLI reports and add a strict publish profile
  11. #952 Validation: add structured author diagnostics and remediation
  12. #953 Validation: run author validation in dedicated HF Sandboxes
  13. #954 Validation: isolate submitted code in author Sandboxes
  14. #955 Validation: bind author reports to policy and source
  15. #956 CLI: scaffold publish requirements ← current
  16. #957 CLI: gate pushes on staged remote validation
  17. #958 Docs: explain local, remote, and publish validation

All upstream PRs remain draft while RFC 008 is under review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant