Skip to content

[G01] Prove Scale Set delivery, acquisition and drain contracts #1

Open
6 of 6 issues completed

Description

@jjangg96

Goal

Select and pin one supported Scale Set integration path and produce a reusable evidence packet for recovery at message acknowledgement, acquisition and JIT boundaries, rerunning only changed-boundary checks while keeping unchanged evidence and live gaps explicit.

Create one active Codex goal from the statement above when this issue is dispatched. The Project Goal field is a work specification; it does not start an agent. Do not invent a token budget.

Execution contract

Field Value
Goal key G01
Stage M0 - Evidence gates
Initial status Ready
Primary route gpt-luna-max (gpt-5.6-luna / max)
Priority / risk P0 / High
Test profiles offline, trusted-live-github

Use one issue branch/worktree and one focused PR. Independent gpt-luna-max review is required for authentication, protocol, concurrency, resource ownership, cleanup or service identity boundaries; other changes need independent contract review. Model fields are routing instructions, not GitHub user assignments. New work uses gpt-luna-max by default or an explicit grok-high override; Astra is historical-only.

Dependencies

None. This issue is initially Ready.

Dependencies must be Done before implementation begins. A new issue is not blocked simply because its future evidence has not been collected.

Scope

Isolated protocol spike and ADR; compare release v0.4.0 with audited commit cb0405b2d874500e75ae34eff8d582ab75956b45. Do not implement production providers or copy the demo shutdown policy.

TDD and failure evidence

  1. Red: fake session server reproduces ACK-before-callback crash and missing lifecycle callback.
  2. Cover pre/post ACK, acquisition, >50 events, repeated/stale statistics, 202, 401/403/429, callback failure and session replacement with deterministic barriers.
  3. Test idle-assignment races while drain withdraws capacity; mocks alone cannot prove server deregistration/acquisition behavior. Run an explicitly authorized disposable private live canary before closing the gate.

Capture a meaningful failing case before the implementation, then green evidence and relevant refactor checks. During iteration, keep intermediate commits local, batch one stable candidate push, and rerun full validation only when the head or relevant risk boundary changes. Reuse unchanged evidence by immutable SHA. Tooling/prose-only work uses appropriate negative checks without artificial application tests. Live/runtime profiles require reviewed commits, a dedicated trusted test environment and explicit authorization for the concrete experiment. Public PR CI uses hosted environments without credentials. Planned or skipped tests never count as passed.

Acceptance criteria

  • Record exact module/runner versions and supported JIT bootstrap transports, including any secret exposure. SDK/Go selection, current runner inputs, JIT transports and exposure.
  • Choose high-level listener plus independent reconciliation OR a lower-level supported message loop; do not simply reverse ordering without evidence. Reviewed ADR decision.
  • Document recoverable state versus quarantine for lost callback/request IDs; no exactly-once claim. Recovery and quarantine contract.
  • Keep the live-evidence gate explicitly unresolved and obtain independent gpt-luna-max protocol review (PR #139 review and scope, current exact-head readiness record).
  • Record exact validation commands, actual results, skipped/live-test gaps and applicable rollback notes in the PR (PR #139).
  • Use one change-impact ledger and a stable candidate CI/review cycle; reuse unchanged evidence by immutable SHA and rerun only changed-boundary checks (ledger, PR #139).
  • Independent review is resolved and the focused PR is merged under the repository execution policy (PR #139, PR #140).
  • Update issue/Project accurately and keep the issue OPEN / Project In progress while any live gate remains. Mark the active goal complete only after all required evidence and work are complete.

The first three checks above record reviewed offline documentation and selection, not live qualification or production implementation. The offline evidence-cycle items above are complete, but full G01 closure remains open. Authenticated production provenance and trust-root authority, broker-only execution, server-side conditional cleanup, current runtime/isolation/resource qualification, and any separately authorized Linux ARM64/JIT Scale Set canary remain unresolved. The issue and Project therefore stay OPEN / In progress.

Safety invariants

Preserve existing manual runners; no global Docker prune/context switching, broad process kill, implicit App enrollment, busy-job cancellation during ordinary scale-down or transparent workflow replay. Use only verifiably owned resources. Keep management credentials and raw secret-bearing SDK errors out of worker environments, logs, fixtures and commits; per-worker JIT transport follows G01. Native pools remain trusted-only.

Design references

Current evidence update — 2026-11-03 (PR #159, head a35220b089d3a3bd79ab1575620892f138739a42)

The compound read-token revocation persistence gap found by independent review is addressed in the current offline candidate. The broker syncs an account-wide intent before DELETE, bound to the phase and exact attempt/journal inodes; an unmatched intent blocks later inspect/cleanup before token issuance or handoff. The regression failed at prior head 1ea3558 and now passes against the corrected path.

G02 full suite, go vet, focused race tests and git diff --check pass on this candidate. The hosted Go check and fresh exact-head reviews are pending. No live credentials, GitHub provider, Scale Set, runner or host operation was used. PR #159 remains open while those gates run. Issue state remains OPEN / Project #2 In progress. Live canary, authenticated production provenance, trust-root custody, broker-only execution, read-to-handoff race, management-token lifecycle, conditional Scale Set deletion and trusted runtime/isolation/resource qualification remain unresolved.

Review status update — 2026-11-03

PR #159 exact head a35220b089d3a3bd79ab1575620892f138739a42 passed hosted Go checks and GitHub Codex review (no findings). The independent Luna Max review is still awaiting its final Orca result. Issue #1 remains OPEN and Project #2 remains In progress; the live gates remain unresolved.

Current evidence update — 2026-11-04 (supersedes earlier status snapshots)

Additional offline gaps retained after the PR #161/#162 fixture work

The latest docs/evidence/g01-live-canary.md still records the read-to-handoff race and management-token expiry/revocation as unresolved. The current PR #161/#162 fixture evidence does not close either item. Supported conditional Scale Set cleanup also remains unresolved; these offline gaps are separate from production trust/custody, runtime qualification, and the authorized live canary.

Canary target readiness recheck — 2026-11-04

Read-only gh metadata confirms 1XP-AI/gh-runnerd-canary is private, but its main branch reports protected: false and the repository has zero Actions environments. The checked-in github.ref_protected == true guard therefore cannot pass in the current configuration. No repository settings, workflow, runner, or canary execution were changed or triggered. Any configuration change and the actual Linux ARM64/JIT experiment remain separately authorized gates.

Current evidence update — 2026-11-04 (after PR #162 merge)

Current evidence update — 2026-11-04 (PR #163)

This update supersedes earlier status snapshots that still described PR #161 as open.

  • PR [G01] Align command fixtures with workflow provenance #162 is merged from exact head 707164b1b1cab0198f376e18244b11140b3bd044; PR [G01] Account workflow provenance GET lifecycle #161 is merged from exact head 85baf46dc45831fd673bd2f7958f863945270a94 onto 14d22c0e351924cb413bbb3f395f82d33796ae15. Current main is fae718d307920ff60fda64e92b8b094a11af1753.
  • Offline follow-up PR #163 is open at exact head aa4e8544eaf0ebb35d120d2b238c988b861a78ab, based on current main. It covers workflow status/final handoff ordering and management-token revocation/account-ledger recovery.
  • Fresh exact-head independent gpt-5.6-luna / max review completed: no P0–P3 source findings; the P2 at prior head 51b167f65f600c8de48400c1e532e9a09976e02a is resolved. Its overall G01 disposition is HOLD solely because the required live acceptance gates remain untested.
  • Local Go 1.27.3 go test -race -p=1 -count=1 -timeout=300s ./..., go vet -p=1 ./..., formatting and diff checks pass at the PR head; build/module/temp caches were on /Volumes/worktree. Hosted Go quick check is in progress. GitHub Codex exact-head review was requested with @codex review and is pending.
  • No live provider, credential, runner, Scale Set, Docker, host or canary operation was performed. Production provenance/trust-root authority, broker-only execution, conditional Scale Set deletion, runtime/isolation/resource qualification, protected canary configuration and the authorized Linux ARM64/JIT canary remain unresolved.

Issue #1 remains OPEN and Project #2 remains In progress until all required live acceptance criteria are satisfied.

PR #163 review progress — 2026-11-04

PR #163 merged — 2026-11-04

  • PR [G01] Close broker token and handoff evidence gaps #163 merged by squash from reviewed head aa4e8544eaf0ebb35d120d2b238c988b861a78ab as main commit 325effa8408f87ca51769d683b0a0862623d1ea5.
  • Exact-head Luna Max review found no source findings; its overall G01 HOLD remains only for outstanding live acceptance criteria. GitHub Codex reviewed the same PR head and reported no major issues. The hosted PR Go check passed.
  • Post-merge Public CI run 41692414897 is running on the merge commit; integration result is pending.
  • Rechecked canary repository state: main is still unprotected at 3b555b3398fbb2b989df51b031681f95b13a6e33, and there are zero Actions environments. The checked-in protected-ref guard cannot pass. No settings or workflow were changed and no canary was triggered.

Issue #1 remains OPEN and Project #2 remains In progress. Live provenance/trust-root, broker-only execution, conditional deletion, runtime/isolation/resource, protected-canary and authorized Linux ARM64/JIT requirements remain open.

Activity

  1. added this to the M0 - Evidence gates milestone on Sep 7, 2026
  2. added
    agent:astra-xhighPrimary implementer: gpt-6-astra, xhigh reasoning
    type:gateEvidence gate before dependent work
    priority:P0Critical contract, security or reliability dependency
    risk:highIndependent gpt-luna-max review on risky boundaries
    on Sep 7, 2026
  3. moved this to Ready in gh-runnerdon Sep 7, 2026
  4. moved this from Ready to In progress in gh-runnerdon Sep 7, 2026
  5. jjangg96 commented on Sep 7, 2026

    @jjangg96
    ContributorAuthor

    Offline SDK contract evidence merged in #22 (1396e20) after independent Astra xhigh review. Actual SDK v0.4.0 and the audited comparison commit passed the fault-contract race tests and static checks. The record separates recoverable aggregate demand from quarantined acquisition/JIT uncertainty.

    This issue remains in progress: authorized private live evidence is still required. A separately opt-in canary driver is now being prepared for independent review before any live resource creation. No existing manual runners or credentials were changed, and dependent production integration stays gated.

  6. moved this from In progress to In review in gh-runnerdon Sep 7, 2026
  7. moved this from In review to In progress in gh-runnerdon Sep 7, 2026
  8. jjangg96 commented on Sep 7, 2026

    @jjangg96
    ContributorAuthor

    Review audit #30 is complete. PR37 integrates the six reproduced PR25/28 fixes plus independently discovered work-evidence and ownership-proof guards. Final reviewed head a9fb8de passed full checks, independent Astra xhigh verification, hosted CI and exact-head Codex clean review before merge2fd5844. Original threads carry individual red/fix evidence and are resolved. Final main make check passed. Evidence: docs/evidence/g01-audit-corrections.md.

    This does not close G01: actual server/worker recovery, integrated/global worker admission and sanitized authorized live evidence remain open. PR29 remains draft for its six known defects. No live resources or existing manual runners were changed.

  9. jjangg96 commented on Sep 7, 2026

    @jjangg96
    ContributorAuthor

    PR38 is integrated as c1c0b6a. Red495d078 proved the per-directory worker cap could admit two containers; the fixed native-account claim now limits the finite G01 worker experiment across state directories and retains its slot across close, cleanup and unknown outcomes. Independent Astra review verified separate-process crash/competition/copy/tamper and unsupported-build guards, and full make check/hosted CI passed. Codex's timestamped summary names final head e3fcc32 and marks review Completed at14:22:30 UTC, before merge14:33:02 UTC; both finding sources and all threads were empty. Evidence: docs/evidence/g01-worker-admission.md.

    This closes the finite controller-account worker admission preparation gap. Paired controller/worker binding, baseline execution/terminal reconciliation, finite successor experiments, actual platform/live evidence and production fleet admission remain open. No real worker or account admission directory was created.

  10. 113 remaining items

  11. moved this from In progress to In review in gh-runnerdon Nov 3, 2026
  12. moved this from In review to In progress in gh-runnerdon Nov 3, 2026
  13. moved this from In progress to In review in gh-runnerdon Nov 3, 2026
  14. moved this from In review to In progress in gh-runnerdon Nov 3, 2026
  15. moved this from In progress to In review in gh-runnerdon Nov 3, 2026
  16. moved this from In review to In progress in gh-runnerdon Nov 3, 2026
  17. moved this from In progress to In review in gh-runnerdon Nov 3, 2026
  18. moved this from In review to In progress in gh-runnerdon Nov 3, 2026
  19. moved this from In progress to In review in gh-runnerdon Nov 3, 2026
  20. moved this from In review to In progress in gh-runnerdon Nov 3, 2026
  21. jjangg96 commented on Nov 3, 2026

    @jjangg96
    ContributorAuthor

    G01 progress update — PR #159 head efa05d8fb142a687fa58264ba119fef1558a33c7

    The offline candidate addresses the independent review's P1 for an accepted read-token POST whose response is lost. It persists account-wide lifecycle intent before HTTP dispatch, records durable proof when a v3 attempt exits before dispatch, and rejects ambiguous legacy incomplete claims. Legacy confirmed revocation pairs remain replayable.

    Validation on this head: focused lifecycle/replay/failure tests PASS (3.113s); G02 go test -race -count=1 -timeout=210s ./... PASS (all packages; 129.994s); go vet ./..., gofmt -l, and git diff --check PASS. Hosted Go check 41656408676 passed. GitHub Codex reviewed this exact head with no major issues and no inline findings. Two focused independent Luna Max reviews of the exact head are pending.

    No live provider, token, runner, Scale Set, Docker or host operation was performed. Issue #1 remains OPEN and Project #2 remains In progress while the live canary and other stated gates remain open.

  22. jjangg96 commented on Nov 3, 2026

    @jjangg96
    ContributorAuthor

    G01 status update — 2026-11-03, PR #159 merged

    Remaining gates

    Read-only GitHub recheck shows runner group #3 is selected-only, disallows public repositories, selects only private 1XP-AI/gh-runnerd-canary, and allows the exact canary-runner.yml full-SHA workflow; the group currently has zero runners. The canary repository has no Actions environments. Its main branch-protection query returns GitHub's 403 requiring GitHub Pro or public visibility, while the candidate caller requires github.ref_protected == true; keep it fail-closed. The existing App installation's repository inclusion remains unverified by current CLI access; the earlier maintainer response said this canary repository was not selected. No scope or installation change was made.

    The current latest official actions/scaleset release is still v0.5.0. Its DeleteRunnerScaleSet implementation deletes by numeric ID and has no server-side version/ETag precondition, so conditional owned-resource cleanup remains unsupported and no ID-only fallback is enabled.

    Still open: the pre-admission provenance evidence follow-up, production provenance/trust-root custody, broker-only execution, management-token lifecycle, conditional Scale Set cleanup, trusted runtime/isolation/resource qualification, and the separately authorized live Linux ARM64/JIT canary with sanitized exit evidence. No workflow was dispatched and no canary, runner, credential, Scale Set, Docker or host operation was performed.

  23. jjangg96 commented on Nov 3, 2026

    @jjangg96
    ContributorAuthor

    G01 verification update — 2026-11-04

    • PR test(offline): repair protocol gate regressions #164 merged from reviewed head 3c56bc6e6a536c4daefd397f621176c6f93938e6 as 853d176766db50c55bbf84575c429ed4924db835. Post-merge Public CI run 41720512574 completed successfully.
    • The selected path remains Go 1.27.3 with github.com/actions/scaleset v0.5.0 and the high-level listener plus independent reconciliation. The upstream latest release is still v0.5.0. Its scale-set delete call accepts only an ID; cleanup remains fail-closed behind the server-side conditional-deleter requirement.
    • The private canary is still unrun. Read-only gh api checks for private repository branch protection and repository rulesets returned 403 plan-entitlement errors; the organization rulesets endpoint also requires GitHub Team. No repository visibility or workflow guard was changed. The current private repository has no Actions environment and the selected runner group has zero runners.
    • The remaining offline protocol boundaries are explicitly fail-closed: GitHub provides no conditional handoff primitive for the final workflow observation, and ambiguous token mint/revocation outcomes retain a durable barrier. These fixtures do not establish live freshness, runtime isolation, credential custody, or Scale Set cleanup behavior.
    • No runner, Scale Set, credential, Docker, host, or canary workflow was executed. Issue [G01] Prove Scale Set delivery, acquisition and drain contracts #1 remains OPEN and Project [G02] Prove local App enrollment and launchd credential access #2 remains In progress.
  24. jjangg96 commented on Nov 3, 2026

    @jjangg96
    ContributorAuthor

    Caller-protection alternative review — 2026-11-04

    An independent read-only review rejected removing github.ref_protected. The runner-group SHA restriction pins the reusable callee, but it does not bind or authorize the mutable workflow_dispatch caller. Private-branch protection remains unavailable under the current repository plan, so no workflow or runner setting was changed. The canary remains unrun; issue #1 stays OPEN and Project #2 stays In progress pending a supported caller-protection path, runtime/isolation and credential-custody evidence, and separate approval for the Linux ARM64/JIT run.

  25. jjangg96 commented on Nov 3, 2026

    @jjangg96
    ContributorAuthor

    G01 post-merge evidence update — 2026-11-04

    • PR docs(g01): reconcile post-merge canary evidence #165 merged from exact reviewed head e3cc4be235402194f2a66e994e4c3bf290e3fd25 as main commit 2a71461447bfea7acd61b5c82a38c9f380fb19b9.
    • Exact-head GitHub Codex review completed with no findings. PR Go checks passed at run 41729735649. The change is documentation-only, so no full Public CI matrix run was expected.
    • The evidence update records PR test(offline): repair protocol gate regressions #164 and its successful Public CI run, the still-selected Go 1.27.3 / actions/scaleset v0.5.0 path, and the independent rejection of removing github.ref_protected.
    • No code, workflow, repository policy, App installation or live canary action changed. The Linux ARM64/JIT canary remains unrun; the caller-protection, provenance/trust-root, broker-only, conditional-cleanup and runtime/isolation/resource gates remain open.

    Issue #1 remains OPEN and Project #2 remains In progress.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:luna-maxCanonical primary route: gpt-luna-max (gpt-5.6-luna, max reasoning)priority:P0Critical contract, security or reliability dependencyrelease:mvpApproved delivery sequencing; does not change acceptance or dependency gatesrisk:highIndependent gpt-luna-max review on risky boundariestype:gateEvidence gate before dependent work

    Type

    No type

    Projects

    • Status
      In progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions