Files
gstack/docs/gstack-2/STATUS.md
T

12 KiB

GStack 2 status

Status at the 2026-07-17 documentation checkpoint: BLOCKED.

The candidate contains substantial implementation, but it is not a released or verified GStack 2. DONE is prohibited until every P0 gate is backed by the required evidence layer. Current blockers include physical-iPhone signing, a verified Context.dev key smoke, native Windows CI, a passing live v3 installed-host adversarial run, native Linux evidence, and the signed physical iPhone loop. No branch push, draft PR, or PR-ready claim is authorized by this status.

Implemented candidate surface

  • Pinned audit base: bb57306d98c97011b0919c6132705a15b1579781.
  • Baseline counts and pre-existing failures captured without relabeling them candidate regressions.
  • 755 unique open issue/PR records reconciled and deterministically mapped; all 16 required upstream PR snapshots traced.
  • Exactly six canonical skill directories: plan, design, qa, debug, review, and ship.
  • The six /plan top-level modes are exactly Discovery, Product, Engineering, DX, Specification, and Full chain.
  • Standard installer matrix is green: 470/470 checks, 16 installs and two removals with CLI 1.5.19. Project/global installs passed for Claude Code, Codex, Cursor, Pi, OpenClaw, and GitHub Copilot; selected-skill and opt-in compatibility-alias cases, paths with spaces, source symlink, physical copies, and canonical hashes passed. The committed artifact is evals/installation/install-matrix.json.
  • Current six names/descriptions measure 982 characters (about 246 four-character token-equivalents), roughly 77.6% below the correctly parsed baseline of about 1,100 in the regenerated tree.
  • Generated inventory contains 55 preserved modules, 16 carved sections, 25 scenarios, 16 regression definitions, and 78 assets.
  • Compatibility aliases remain opt-in and outside default six-skill discovery; each prints its replacement and contains no copied judgment.
  • Judgment provenance, behavioral contracts, 25 structured scenarios, and 16 upstream bug-fix regression definitions implemented.
  • The 2026-07-17 regenerated parity rerun is green: 4,681 checks covering 55 modules, 16 sections, 25 scenarios, 16 regressions, and 78 assets.
  • Deterministic semantic parity is green: 295 checks across 14 suites, 15 executions, 15 comparison dimensions, 16 carved sections, and nine authority-policy unit cases, including unsupported numeric claims. Exact preserved source bodies are the primary oracle. These are deterministic policy checks, not behavioral-adversarial proof, and do not close the installed-host gate. All three retained Claude Haiku live samples are classified REGRESSION; they are preserved as noisy supplemental evidence, never cherry-picked as a primary gate or represented as green.
  • The focused macOS GStack 2 suite is green: 136 pass / 0 fail, 1,128 assertions across 15 files. Log: /tmp/gstack2-test-command-candidate-final2.log. This focused surface does not substitute for the broad or native-platform gates.
  • Optional host-neutral runtime implemented with canonical paths, repo/worktree state identity, locks, atomic writes, effect claims, doctor/config/state/cleanup, migrations, upgrade/rollback, and uninstall.
  • Managed runtime installer coverage is green at 24 pass / 0 fail and 336 assertions. The deterministic clean macOS arm64 managed-bundle audit records 110 components, 1,829 files, 450,044,315 bytes, and 50 capability launchers. This is a platform-specific bundle measurement, not a universal byte count; platform-native package payloads differ. Setup installs frozen production-only dependencies; the development-only Claude Agent SDK is excluded. The Sharp/ngrok closure is included. The Hugging Face sidecar is excluded and its package is development-only, so setup installs neither its inference runtime nor model weights and reports the L4 capability unavailable. A clean Linux arm64 container smoke also used the production-only install with the development SDK absent, completed a local browser journey and Sharp full-page screenshot, and uninstalled while preserving state.
  • Filesystem lifecycle coverage passes for clean install/uninstall, paths with spaces, source symlinks with internal-link rejection, read-only destination reporting on macOS, interrupted-pointer rollback, crash-journal repair, and last-known-good launcher recovery.
  • Crash/resume external-effect idempotency is covered through an actual local Git push: the effect executes at most once, and resume refuses to repeat a command that may already have happened.
  • Context.dev public-URL/consent/failure contract is green at 22 pass / 0 fail and 139 assertions; deprecated search is typed unsupported rather than fabricated. context options and explicit context select host|local-browser|none choices persist without granting Context.dev consent. No verified key was available for the live smoke.
  • iOS candidate fixes implemented for UDID/CoreDevice identity, malformed device-list errors, suspended-app bounded timeout, and active-bundle checks.
  • Default/free-test roots now include design/test and ios-qa/daemon/test.
  • Focused retained capability suites are green: iOS daemon 95 pass / 0 fail / 229 assertions; design 101 pass / 0 fail / 381 assertions; PDF 189 pass / 0 fail / 398 assertions; and diagram 51 pass / 0 fail / 1 skip / 120 assertions. The opt-in paid diagram lane recorded two skips and is not live provider evidence.
  • Physical-iOS preflight recorded 9 pass / 0 fail / 1 deploy skip and 29 assertions. The direct smoke then returned typed code signing_unavailable, category setup_gate; it installed no app and wrote no pass artifact.
  • Installed-host adversarial evidence is retained without relabeling: v1 failed; immutable v2 failed even though QA passed because the classifier produced false negatives for debug, review, and ship; v3 offline harness coverage is green at 18 pass / 0 fail and 111 assertions. Live v3 has not run and has no artifact, so there is no passing live installed-host adversarial result.
  • A current managed-bundle audit confirms no model-weight download path in setup. The standard Agent Skills installation remains Markdown-only and independent of the optional runtime.
  • An isolated local-browser journey completed navigation, snapshot, screenshot, status, and stop cleanup. The stop acknowledgement regression has a 2 pass / 0 fail focused test.
  • The uninterrupted macOS broad suite is green under singleton isolation: 6,240 pass / 226 expected skips / 0 fail and 25,450 assertions across all 383 files. This includes the complete local-browser suite. The local Windows-safe singleton lane is also green at 2,815 pass / 57 expected skips / 0 fail and 8,586 assertions across all 213 curated files; it is not native Windows evidence.
  • Architecture, privacy, Context.dev, host compatibility, upgrade/rollback, migration, and governance documentation added.

Blocking or incomplete P0 evidence

  • Record a passing live v3 installed-host adversarial run and execute the installed skill in each representative host UI. The six hosts are Verified at the installer layer only; v1 and v2 are retained failed runs, and v3 is offline-harness evidence only.
  • Prove runtime-absent judgment behavior through an actual host invocation. Runtime install failure and the real default capability lifecycle are covered.
  • Complete native Linux and Windows matrices. The uninterrupted macOS broad singleton run is green at 6,240/226/0 across 383 files, and the local Windows-safe singleton lane is green at 2,815/57/0 across 213 files. Neither substitutes for native execution on its named platform.
  • Integrate the passing complete local-browser suite and live journey into final cancellation/leak evidence. The production dependency and managed bundle audit contains no cloud-browser provider/path.
  • Complete a live Context.dev smoke with a verified account/key. No verified key was available at this checkpoint; the 22-test automated contract is not provider evidence.
  • Complete the physical-iPhone five-check loop with a signed test app. The unsigned Release guard and preflight passed, but the direct smoke returned signing_unavailable / setup_gate; no app was installed and no pass artifact exists. This is a remediable account/provisioning gate.
  • Verify in one real cancellation run that no subprocess, listener, credential, browser, or device-session remains after interruption. Existing component tests cover each cleanup contract separately but not this aggregate live gate.
  • Finish final evidence-linked disposition for every infrastructure item; see the 25-row table in ARCHITECTURE.md. Current focused evidence does not replace the remaining live and native-platform gates.

Evidence index

Evidence Path State
Measured baseline BASELINE.md Recorded
Candidate and baseline command ledger TEST-EVIDENCE.md Broad macOS and local Windows-safe singleton runs green; live/native-platform gates pending
Complete skill migration SKILL-MIGRATION.md Generated; 55/55 assignments
Judgment provenance JUDGMENT-PROVENANCE.json Generated; 4,681-check parity rerun green
Parity contract JUDGMENT-PARITY.md Green for source/render/contract/asset fixtures
Semantic parity SEMANTIC-PARITY.md Deterministic 295-check corpus green; retained live samples are regressions
Installed-host adversarial eval overview, immutable v2 artifact V1 failed; immutable V2 failed; V3 offline 18/111 green, live V3 not run; no passing live run
Structured scenarios SCENARIOS.md 25/25 structured routing fixtures green
Backlog traceability BACKLOG-MAP.json 755 unique items mapped
Context integration CONTEXT-DEV.md Automated contract 22/139 green; live smoke blocked on verified key
Host matrix HOST-COMPATIBILITY.md 470/470 checks; six hosts Verified at installer layer; live v3/UI launch pending
Privacy boundary PRIVACY.md Implemented contract; full retained-tool egress audit pending
Physical iOS IOS-PHYSICAL-DEVICE.md Preflight 9 pass / 1 deploy skip / 29 assertions; signing blocked; no app/pass artifact
Upgrade/recovery UPGRADE-AND-ROLLBACK.md Runtime installer 24 pass / 336 assertions; deterministic clean macOS arm64 bundle audit recorded

Interpretation rules

  • MECHANICAL_PORT means the pinned rendered judgment body remains equal after normalization; it is not permission to rewrite prose.
  • BUG_FIX requires its linked PR/reproduction and regression fixture.
  • NEEDS_EVIDENCE, DEFER_COMMUNITY, and SUPERSEDED_BY_CONSOLIDATION are auditable dispositions, not GitHub state changes. No labels, issues, or PRs are mutated by the map generator.
  • A fixture-backed structural result does not replace a live browser, physical device, external account, native OS, or host-install result where the gate explicitly requires one.
  • Do not market or release this branch as GStack 2 while this status is BLOCKED.