Skip to content

chore: checkpoint #129 SDK runtime evidence WIP - #145

Closed
rldyourmnd wants to merge 1 commit into
mainfrom
checkpoint/2026-08-13-ci-workflows-129-sdk
Closed

chore: checkpoint #129 SDK runtime evidence WIP#145
rldyourmnd wants to merge 1 commit into
mainfrom
checkpoint/2026-08-13-ci-workflows-129-sdk

Conversation

@rldyourmnd

@rldyourmnd rldyourmnd commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Checkpoint only — incomplete and unverified

Links #129 and parent #126.

This Draft PR is a workstation-evacuation checkpoint. It must not be merged as-is. It preserves the safe source, documentation, workflow, validator, and minimal fixture state from SDK Recovery Final Attempt3 on the exact ancestry below.

Identity

  • base: main at 2d25598ec9efb39ffafba73845619b9a2d8ab25a
  • head: 7cbd1e85490e87c684a4d796276328ea1681c3b9
  • branch: checkpoint/2026-08-13-ci-workflows-129-sdk
  • commit contains an SSH signature and a Signed-off-by trailer

Included scope

  • minimal real Flutter, Android, and Qt fixture sources
  • reusable workflow evidence outputs and live language-fixture callers/observers
  • strict SDK/JVM/root/Gradle lock and provenance validators/generators
  • catalog, examples, documentation, and validation wiring

Downloaded SDK/Gradle caches, build outputs, logs, temporary process state, credentials, secrets, and local issue-receipt files were audited out and are not committed.

Final Attempt3 local evidence

Passed once on this exact WIP before checkpoint:

  • .venv/bin/python -I -B scripts/check_python_syntax.pycheck_python_syntax: OK
  • .venv/bin/python -I -B scripts/check_python_execution_contract.pycheck_python_execution_contract: OK (CPython 3.13.13, hash-pinned PyYAML 6.0.3)
  • .venv/bin/python -I -B scripts/check_python_execution_contract.py --launch check_sdk_runtime_fixtures.py -- --staticcheck_sdk_runtime_fixtures: OK

Interrupted for workstation handoff, not pass/fail:

  • env PATH=/opt/homebrew/opt/openjdk@21/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin .venv/bin/python -I -B scripts/check_python_execution_contract.py --launch generate_android_fixture_provenance.py --
  • The checksum-pinned Gradle 9.5 distribution download, first exact default ./gradlew build generation, and provenance construction completed inside the atomic command. The separate fresh-home strict replay was still running when owner orchestration intentionally interrupted it after more than 23 minutes. Its generated outputs were not published into the worktree, so they are not checkpoint evidence.

NOT_RUN / NOT_PROVEN:

  • completed Android strict replay and deterministic regeneration parity
  • Flutter resolve/format/analyze/test
  • Qt configure/build/CTest
  • generated SDK runtime manifest
  • full SDK validator with generated artifacts
  • validate_all core/full, actionlint, pinned tokenized zizmor
  • exact-head hosted Flutter/Android/Qt fixture runs
  • post-main runtime evidence and runtime-coverage ledger promotion

Attempt lineage and holds

Recovery A1 terminal receipt: issue comment 5284524027.
Recovery A2 terminal receipt: issue comment 5284601179.
This Final Attempt3 was superseded by the owner checkpoint/handoff override; the interrupted Android command is not classified as a product failure.

No external consumer, repository settings, credentials, release, deployment, or merge mutation is authorized. The queued private fleet-routing migration is unrelated and must remain separate.

Deterministic resume

On the next workstation, first create the repository .venv from hash-pinned requirements-ci.txt and ensure the clean explicit PATH resolves JDK 21 and sdkmanager. Then run exactly:

env PATH=/opt/homebrew/opt/openjdk@21/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin .venv/bin/python -I -B scripts/check_python_execution_contract.py --launch generate_android_fixture_provenance.py --

Do not infer success from this checkpoint or from the interrupted command. Continue the ordered #129 evidence chain only under fresh owner/dispatcher authority.

Additional recovery lineage

  • stash@{0} was inspected without applying it. It is a unique pre-hermetic-Python split tree based on 00546f1c601a106d560d92e316f332891ac6f840, with stash commit 0215cf260000084598de3fefe9f44980093bbbb4 and tree 66c556a9ba2a1dcd045070a981e687691de4ef95. It was pushed exactly, without rewriting, as archive/2026-08-13-ci-workflows-sdk-pre-python-split; both ls-remote and the GitHub ref API resolve that branch to 0215cf260000084598de3fefe9f44980093bbbb4. The apparent API-key match is only the public ${{ secrets.ANTHROPIC_API_KEY }} consumer expression, not secret material.
  • fix/hermetic-python-execution is already remotely recoverable at f60c08894eb3c865b99d23a14685c52926bf8935 and was merged separately; no duplicate archive was created.
  • The original checkout on fixtures/sdk-runtime-evidence remains dirty and untouched, and the stash remains present. It contains diagnostic pre-split combinations and generated SDK manifest state; the exact stash lineage above plus this primary checkpoint are the portable recovery boundaries. No local worktree, stash, branch, cache, or generated state was deleted.

Signed-off-by: Danil Silantyev <danilsilantyevwork@gmail.com>
@github-actions github-actions Bot added ci Continuous integration and removed ci Continuous integration labels Aug 13, 2026
@rldyourmnd

Copy link
Copy Markdown
Contributor Author

Additional #129 recovery lineage verified after the primary checkpoint:

  • Existing stash@{0} commit: 0215cf260000084598de3fefe9f44980093bbbb4
  • Tree: 66c556a9ba2a1dcd045070a981e687691de4ef95
  • Original base/first parent: 00546f1c601a106d560d92e316f332891ac6f840
  • Exact archival ref: archive/2026-08-13-ci-workflows-129-pre-python-split
  • Both git ls-remote and the GitHub ref API resolve the archival ref to the exact stash commit above.

The stash was inspected and pushed without apply, drop, rewrite, merge, or test execution. The only secret-pattern match was the literal consumer reference ${{ secrets.ANTHROPIC_API_KEY }} in an example; no credential value, cache, log, or live state was archived. The local stash remains intact.

rldyourmnd added a commit that referenced this pull request Aug 14, 2026
Applies the PR #145 checkpoint (7cbd1e8) on top of the track-M fixes merged as
PR #146. Conflicts were unions: the Python execution surface carries both
track-M's subjects and this branch's.

This is the unverified WIP baseline; every defect it carries is fixed in the
commits that follow. One fix is folded in here rather than applied after:
`gitleaks` flags the sample cache identity on line 238 as `generic-api-key`, and
`secret-scan.yml` scans the history of the checked-out ref, so leaving the
literal in an ancestor commit would fail the scan on `main` for good. The value
is a Flutter action cache key in a negative-self-test sample, not a credential,
so nothing needs rotating -- but the line really did read like one, and the fix
is to stop the sample looking like a secret rather than to teach the scanner to
skip the file. The identities are built from parts, with the version read from
`sdk-runtime-spec.yml` instead of written out three more times.
rldyourmnd added a commit that referenced this pull request Aug 14, 2026
Applies the PR #145 checkpoint (7cbd1e8) on top of the track-M fixes merged as
PR #146. Conflicts were unions: the Python execution surface carries both
track-M's subjects and this branch's.

This is the unverified WIP baseline; every defect it carries is fixed in the
commits that follow. One fix is folded in here rather than applied after:
`gitleaks` flags the sample cache identity on line 238 as `generic-api-key`, and
`secret-scan.yml` scans the history of the checked-out ref, so leaving the
literal in an ancestor commit would fail the scan on `main` for good. The value
is a Flutter action cache key in a negative-self-test sample, not a credential,
so nothing needs rotating -- but the line really did read like one, and the fix
is to stop the sample looking like a secret rather than to teach the scanner to
skip the file. The identities are built from parts, with the version read from
`sdk-runtime-spec.yml` instead of written out three more times.
@rldyourmnd

Copy link
Copy Markdown
Contributor Author

Superseded by #151, merged as 0ddd121.

That PR rebased this checkpoint onto main, then fixed every defect it carried: the receipt hashed the caller's tree instead of naming the callee, the reusables demanded one repository's fixture, four of six digest fields were checked only for truthiness, and the root-trust self-test was a function of the developer's umask and uid rather than of the rule.

It also fixed three defects that stopped the estate running at all — the observers never installed uv, the hermetic launcher stripped SDK_RUNTIME_EVIDENCE, and the task-graph regex matched across newlines — and kotlin-android-ci.yml is now runtime-proven.

The branch is kept, not deleted: it is the checkpoint record.

@rldyourmnd rldyourmnd closed this Aug 14, 2026
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