Skip to content

Add bounded project status workflow - #100

Merged
iperev merged 5 commits into
mainfrom
feature/project-status-workflow
Sep 5, 2026
Merged

Add bounded project status workflow#100
iperev merged 5 commits into
mainfrom
feature/project-status-workflow

Conversation

@iperev

@iperev iperev commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Adds status --repo-root and next --repo-root so an explicitly selected repository can be classified and routed to one bounded repair or verification action. Classification reads the project manifest, its declared children, and transaction control state; it never turns source declarations into proof that native verification completed.

This is a breaking 0.9.0 release: change-workflow-plan --input ... becomes change plan --input .... The internal command and its JSON contracts remain the same, and the old CLI route is rejected. The public contract also makes the command-ID fallback for omitted routes explicit.

Implementation

  • Keep project state, action selection, content identity, output admission, and text projection in one command owner. Reuse materialization admission and transaction-control inspection through typed projections.
  • Bound root-confined reads, reject symlinks and unstable file cohorts, retry one concurrent change, observe cancellation before completion and output, and preserve cleanup failures.
  • Keep JSON stable and ANSI-free; support bounded human text and terminal color. Reports expose fixed issue codes rather than caller paths or contents.
  • Close descriptor, help, ABI, command-family, specification, and witness inventories. Exercise the same routes through source CLI, installed npm, Python module, and Python console-script carriers.
  • Add independent negative tests for state/action mismatches, stale content, unsafe paths, cancellation, repository mutation, undeclared ABI changes, and deletion of required installed-carrier smoke paths.
  • Canonicalize transaction-control entry ordering by normalized path identity and reject portable aliases before observation; verify status/next identity across case, Unicode normalization, and input permutations.

Validation

  • npm run check passed on commit 070abde62974d06d40f00a06d4b978eadb4a15d5, tree 040dd10d9c16d583b0e6be28393c1ff24a54e269: Go tests and static checks, 93 browser tests across Chromium/Firefox/WebKit, npm and wheel artifact verification, self-hosting receipts, coverage, and local release closeout. The tracked tree remained clean and unchanged after validation.
  • Targeted affected-package tests and the exact critical witness-inventory mutation test passed.
  • Four isolated Go-overlay mutations were rejected: deleting the final status JSON cancellation check, next JSON cancellation check, shared text cancellation check, or same-state cohort digest comparison. Independent correction review reproduced these falsifiers and found no remaining defect in the repaired scope.
  • git diff --check origin/main...HEAD passed.

Project status remains a structural observation. It does not execute native verification, authenticate receipts, approve merge or publication, or declare production readiness. Registry publication and provider verification will be performed through the release workflow after merge.

@iperev
iperev marked this pull request as ready for review September 5, 2026 07:36
@iperev
iperev merged commit 6b4666f into main Sep 5, 2026
10 checks passed
@iperev
iperev deleted the feature/project-status-workflow branch September 5, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant