Skip to content

Fix remaining runtime-state visibility and failure reporting - #5263

Merged
Trecek merged 5 commits into
developfrom
fix-runtime-state-closeout-5258-20261011
Oct 11, 2026
Merged

Trecek merged 5 commits into
developfrom
fix-runtime-state-closeout-5258-20261011

Conversation

@Trecek

@Trecek Trecek commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Runtime launches could create or backfill .autoskillit/.gitignore, turning AutoSkillit's own work into Git-visible changes. Init's .state.yaml was also missing from the canonical ignore rules, and the fleet diagnostic filter could erase a useful clone-gate failure merely because it named the managed lineage directory.

This change separates runtime temp creation from explicit project setup. Init and direct install maintain the canonical ignore file; temp creation maintains only its own self-ignore marker. Init covers .state.yaml before writing it, preserves existing state fields, and leaves ignore files untouched when state validation fails. Fleet failure reasons retain bootstrap_clone/uncommitted_changes while redacting private paths and capture metadata; the raw L3 payload remains exact.

The root-child classification flags return to the integer-map format required by the existing acceptance-policy reader. Regression coverage exercises absent/stale tracked ignore files, real user edits, zero-valued flags, state-write ordering, and directory/record/mixed/private-only fleet reasons. The core gateway/stub and existing snapshot are synchronized; the IO file remains within its existing line budget.

Validation

  • pre-commit run --all-files: passed before each commit.
  • Affected task-based checks: 331 passed, 1 skipped.
  • Source-inventory guard checks: 39 passed.
  • Configured test_check (task test-local-gate): 51,233 passed, 615 skipped, 29 xfailed on 5854498a6f980782aa0b9f883b1e90a282c7f8f3.

Completed requirements for #5258

Refs #5258. No new tickets or review comments are created by this change.

Live verification — 2026-10-11

Runs 38170521660 and 38170536595 each returned a successful default bootstrap_clone from /workspace/sandbox on head 959603ece0ba5f1bc5f81cf6551a0545cf36bc16. Full workflows failed later; #5258 records the precise evidence and scope.

@Trecek
Trecek added this pull request to the merge queue Oct 11, 2026
Merged via the queue into develop with commit 71e984b Oct 11, 2026
11 checks passed
@Trecek
Trecek deleted the fix-runtime-state-closeout-5258-20261011 branch October 11, 2026 17:19
Trecek added a commit that referenced this pull request Oct 13, 2026
Runtime launches could create or backfill `.autoskillit/.gitignore`,
turning AutoSkillit's own work into Git-visible changes. Init's
`.state.yaml` was also missing from the canonical ignore rules, and the
fleet diagnostic filter could erase a useful clone-gate failure merely
because it named the managed lineage directory.

This change separates runtime temp creation from explicit project setup.
Init and direct install maintain the canonical ignore file; temp
creation maintains only its own self-ignore marker. Init covers
`.state.yaml` before writing it, preserves existing state fields, and
leaves ignore files untouched when state validation fails. Fleet failure
reasons retain `bootstrap_clone`/`uncommitted_changes` while redacting
private paths and capture metadata; the raw L3 payload remains exact.

The root-child classification flags return to the integer-map format
required by the existing acceptance-policy reader. Regression coverage
exercises absent/stale tracked ignore files, real user edits,
zero-valued flags, state-write ordering, and
directory/record/mixed/private-only fleet reasons. The core gateway/stub
and existing snapshot are synchronized; the IO file remains within its
existing line budget.

## Validation

- `pre-commit run --all-files`: passed before each commit.
- Affected task-based checks: 331 passed, 1 skipped.
- Source-inventory guard checks: 39 passed.
- Configured `test_check` (`task test-local-gate`): 51,233 passed, 615
skipped, 29 xfailed on `5854498a6f980782aa0b9f883b1e90a282c7f8f3`.

## Completion requirements for #5258

This PR delivers the code fixes, including the three adjacent defects.
It does not close #5258 by itself.

- [ ] After this integer-map restoration lands in the trusted comparison
base, a maintainer registers `_CLASSIFIED_ELSEWHERE` in
`tests/arch/_acceptance_policy_surfaces.py` as `int_map` with
`default=0`, then runs the configured gate. The authority file is
intentionally untouched here. Adding the row against the current
set-shaped base would fail the policy parser's base comparison.
- [ ] Integrate the completed code and policy registration into #5255's
existing implementation scenario branch and run E-3 twice against the
unchanged sandbox seed. Both envelopes must clear `bootstrap_clone`
without `uncommitted_changes`; record actual run/attempt/head evidence
in #5258's body.
- [ ] Record completed code/policy/replay evidence in #5258 before
closing it. Full #5255 commissioning and its later #5259 allocation
blocker retain their separate acceptance criteria.

Refs #5258. No new tickets or review comments are created by this
change.
Trecek added a commit that referenced this pull request Oct 13, 2026
The runtime-state root classification map was restored in #5263, but it
was still absent from the acceptance-policy registry. Future additions
to its exemptions could therefore escape the policy comparison.

Register `_CLASSIFIED_ELSEWHERE` as an `int_map` with `default=0`. The
registration now compares against the dictionary-shaped base containing
#5263, preserving the existing policy reader and approval mechanism.

Validation: policy comparison against
`dbc689db57d3d847758ec08dd5bad31105f39730` and `pre-commit run
--all-files` passed. The configured MCP `test_check` (`task
test-local-gate`, conservative filtering) passed against that actual PR
base: 11,771 passed, 197 skipped, 12 xfailed on
`3a0a9f8eae7a4d84a7e14d8b0b899ea76b30bd07`.

The first gate compared against stale local `develop` at `0bf84f3`,
whose value still had the old set shape: 51,229 passed and one
policy-comparison test failed. The runner's comparison base was
temporarily pinned to the fetched, dictionary-shaped PR base for the
successful rerun, then restored. Both results are preserved locally.

Refs #5258. After merge, integrate the registered policy and runtime
repairs into the existing #5255 scenario branch, perform both E-3
replays against the unchanged seed, and record the actual
clone-admission evidence in #5258 before closing it. This PR supplies
the remaining policy entry; it does not claim the live replay has
already happened.
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