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

183 lines
12 KiB
Markdown

# 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 a CoreDevice-compatible
signed physical iPhone, 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
- [x] Pinned audit base:
`bb57306d98c97011b0919c6132705a15b1579781`.
- [x] Baseline counts and pre-existing failures captured without relabeling
them candidate regressions.
- [x] 755 unique open issue/PR records reconciled and deterministically mapped;
all 16 required upstream PR snapshots traced.
- [x] Exactly six canonical skill directories: `plan`, `design`, `qa`,
`debug`, `review`, and `ship`.
- [x] The six `/plan` top-level modes are exactly **Discovery, Product,
Engineering, DX, Specification, and Full chain**.
- [x] 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`](../../evals/installation/install-matrix.json).
- [x] 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.
- [x] Generated inventory contains 55 preserved modules, 16 carved sections,
25 scenarios, 16 regression definitions, and 78 assets.
- [x] Compatibility aliases remain opt-in and outside default six-skill
discovery; each prints its replacement and contains no copied judgment.
- [x] Judgment provenance, behavioral contracts, 25 structured scenarios, and
16 upstream bug-fix regression definitions implemented.
- [x] The 2026-07-17 regenerated parity rerun is green: 4,681 checks covering
55 modules, 16 sections, 25 scenarios, 16 regressions, and 78 assets.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] 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. A verified-key live smoke passed the official Markdown
scrape endpoint using protected input and an isolated temporary home; the key
was not persisted in the repository or permanent GStack state.
- [x] iOS candidate fixes implemented for UDID/CoreDevice identity, malformed
device-list errors, suspended-app bounded timeout, and active-bundle checks.
- [x] Default/free-test roots now include `design/test` and
`ios-qa/daemon/test`.
- [x] 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.
- [x] 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. A later attempt against the explicitly selected iPhone10,6 on
iOS 16.7.10 returned `device_not_wired`; legacy USB pairing validates, but
CoreDevice pairing is unsupported. The other connected phone was not used.
- [x] 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.
- [x] 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.
- [x] 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.
- [x] The uninterrupted macOS broad suite is green under singleton isolation:
6,240 pass / 226 expected skips / 0 fail and 25,449 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.
- [x] 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. The candidate
workflow targets GitHub-hosted `ubuntu-24.04` and `windows-latest`, but remote
execution requires explicit authorization for a CI-only ref because this
candidate is intentionally local-only before P0 passes.
- [ ] 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 the physical-iPhone five-check loop with a signed test app. The
unsigned Release guard and earlier preflight passed, but the latest authorized
target cannot expose the required CoreDevice service on iOS 16.7.10. Provide
a CoreDevice-compatible iPhone without broadening the locked backend. No app
was installed and no pass artifact exists.
- [ ] 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](./ARCHITECTURE.md). Current focused
evidence does not replace the remaining live and native-platform gates.
## Evidence index
| Evidence | Path | State |
|---|---|---|
| Measured baseline | [BASELINE.md](./BASELINE.md) | Recorded |
| Candidate and baseline command ledger | [TEST-EVIDENCE.md](./TEST-EVIDENCE.md) | Broad macOS and local Windows-safe singleton runs green; live/native-platform gates pending |
| Complete skill migration | [SKILL-MIGRATION.md](./SKILL-MIGRATION.md) | Generated; 55/55 assignments |
| Judgment provenance | [JUDGMENT-PROVENANCE.json](./JUDGMENT-PROVENANCE.json) | Generated; 4,681-check parity rerun green |
| Parity contract | [JUDGMENT-PARITY.md](./JUDGMENT-PARITY.md) | Green for source/render/contract/asset fixtures |
| Semantic parity | [SEMANTIC-PARITY.md](./SEMANTIC-PARITY.md) | Deterministic 295-check corpus green; retained live samples are regressions |
| Installed-host adversarial | [eval overview](../../evals/host-adversarial/README.md), [immutable v2 artifact](../../evals/host-adversarial/runs/2026-07-17T04-09-01-809Z-3d23a270.json) | V1 failed; immutable V2 failed; V3 offline 18/111 green, live V3 not run; no passing live run |
| Structured scenarios | [SCENARIOS.md](./SCENARIOS.md) | 25/25 structured routing fixtures green |
| Backlog traceability | [BACKLOG-MAP.json](./BACKLOG-MAP.json) | 755 unique items mapped |
| Context integration | [CONTEXT-DEV.md](./CONTEXT-DEV.md) | Automated contract 22/139 green; verified-key official-endpoint live smoke passed |
| Host matrix | [HOST-COMPATIBILITY.md](./HOST-COMPATIBILITY.md) | 470/470 checks; six hosts Verified at installer layer; live v3/UI launch pending |
| Privacy boundary | [PRIVACY.md](./PRIVACY.md) | Implemented contract; full retained-tool egress audit pending |
| Physical iOS | [IOS-PHYSICAL-DEVICE.md](./IOS-PHYSICAL-DEVICE.md) | Earlier preflight 9 pass / 1 deploy skip / 29 assertions; latest selected target lacks a supported CoreDevice service; no app/pass artifact |
| Upgrade/recovery | [UPGRADE-AND-ROLLBACK.md](./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`.