docs(beta-docs-showcase): retire «Plan→top tier» — aif runs GLM only (operator directive) - #1446
Merged
Merged
Conversation
added 4 commits
August 17, 2026 13:37
… main on 2026-07-10 BS-pre measured the target repo at stage entry and found the umbrella's binding premise false: `redesign-terminal-gates` (154f2d2) is an ancestor of origin/main (733197e), merged by PR #2 on 2026-07-10T17:35:49Z — thirteen days BEFORE the design spec was authored. The original census read `main` at 13d7fd5 off a local working copy that had never fetched, so the claim was already false when written. Probe: `git merge-base --is-ancestor 154f2d2 origin/main` -> true; `gh api repos/artyhoo/getff-landing/commits/main` -> 733197e. Corrected in place, three artefacts: - design §0.2 census bullet + §1 B-D2 clause + §2 BS1 row: the redesign assets are on `main` and live; BS1 ports them from `main`, not from a side branch. B-D2's falsifier-1 (surface the merge choice to the operator) is RETIRED as spent by reality, tagged with the `#destination-limit-by-inference` shape it matches. - meta-launch §1 target-repo state, §4 Stage 3, §9 anti-scope (the anti-merge item is moot, struck rather than deleted so the record stays legible). - umbrella kickoff Base line + BS1 stage line. Deliberately NOT widened: the merge added and removed no route (`git diff --stat 13d7fd5 origin/main` touches src/pages/index.astro, src/styles/*, public/demo/*, one blog post), and the live page still serves the eyebrow «rules as tests» and H1 «Docs lie. Tests don't.» — so the §0.2 URL census and the hero bullet stand unchanged. The umbrella kickoff also gains the `host-verify` opt-out the edit-time gate requires (it authors no executable deliverable in this repo). Prior-art: skipped — documentation correction of a measured-false premise, no new capability, no dependency, no module.
… carried the falsified premise Round 1 cold review of #1425 (fresh seat, handed only the change's class) returned REVISE with one MAJOR and three MINORs. All four are applied; every factual claim in the PR was independently re-derived by that seat and CONFIRMED, including both "do not widen" judgments. MAJOR — the correction fixed B-D2's BODY and left its TITLE asserting the opposite (`design.md:114`, "the unmerged redesign is the asset base"), 12 lines above the corrected body. That title is the line other artefacts quote when citing B-D2 by id, so the falsified premise survived in the most-copied line. Failure scenario: a BS1 executor resolves B-D2 by title, treats `redesign-terminal-gates` as a live side branch, and ports assets from it instead of from `main`. MINOR — the recorded probe was not reproducible where the docs point. Run in `~/code/getff-landing` (the working copy the umbrella names), the probe returns `false`, because that clone's `origin/main` is still the stale `13d7fd5`. The `git fetch origin` is now part of the recorded command in both the spec and the meta-launch, with the false-negative stated, so a later session cannot "falsify" this correction by reproducing the very defect it fixes. MINOR — the umbrella Base line had traded a standing instruction ("re-verify at stage entry") for a dated pin. Both now stand: the SHA is labelled a dated reading and the re-verify obligation is restored, with `git fetch` named. MINOR — falsifier-1's retirement dropped B-D2's only calendar-based stall detector along with its spent action. The retirement stands on the merits, but what it drops is now stated in the text and routed to the design owner rather than replaced here: inventing a new escalation is a design decision, not a factual correction. Also from the review's notes: BS1's row now names `@fontsource/jetbrains-mono`, the one dependency PR #2 added that the §0.2 Stack bullet does not mention. Prior-art: skipped — documentation correction round absorbing a cold review; no new capability, no dependency, no module.
…, no Claude runtime inside aif Operator directive 2026-08-17: aif runs GLM only; the Claude runtime is not to be used there. This retires — not defers — the umbrella's «per-mode defaults Plan→top tier» deliverable, in the three places that mandated it. The directive is now a mechanism rather than a memo: the `Claude Opus (plan+review)` profile is `enabled: false` on the live instance. Nothing depended on it — all three projects (`rules-as-tests-aif`, `timeliner`, `getff-landing`) route all modes to `Z.AI GLM-5.2 SDK`, and the app-level defaults are null, so the resolution chain (task_override → project_default → system_default) never reached it. It had also never run: `lastUsageAt: null` since it was created 2026-07-20, and the container's `~/.claude/.credentials.json` (dated Aug 9) carries `expiresAt: 0` — the smoke task `cf894220` died on exactly this, `Not logged in · Please run /login`, before the retirement made it moot. What is NOT changed, deliberately: the tier CRITERIA. `tier-home.md` owns those and is a shipped consumer artefact; CLAUDE.md's task-tier routing already assigns «which model fills which tier» to the aif runtime-profile config, which is precisely the layer that changed. A top-tier seat, when a stage needs one, is a host-side session. Backward sweep of the same class («a dispatch input mandating Plan→top for aif») found three more surfaces, none corrected here and each for a stated reason: `beta-delivery-ux/kickoff-s4.md:49,92,244,312` + its meta-launch `:234` belong to a CLOSED umbrella (historical artefact, read-only per the Artifact Ownership Contract); `beta-program-design.md:252` is the parent frame, a different owner; `tier-home.md:61` is shipped and describes the mechanism generically, not this machine. One live defect the sweep DID surface is out of this umbrella's scope and is being surfaced to the operator rather than patched here: the `aif` mode-override preset (`.claude/skills/pipeline/references/mode-overrides.md:172`) still names `Claude Opus (plan+review)` as its marker value, and `AifHandoffBackend.ts:132` resolves markers from an unfiltered `GET /runtime-profiles`, so a disabled profile still matches by name — the dispatch succeeds and the task blocks later on runtime auth, which is the silent shape, not a loud one. Prior-art: skipped — documentation correction recording an operator runtime directive; no new capability, no dependency, no module.
…case-b-d2-merge-state # Conflicts: # .claude/orchestrator-prompts/beta-docs-showcase/kickoff.md
artyhoo
enabled auto-merge (squash)
August 17, 2026 18:37
artyhoo
added a commit
that referenced
this pull request
Sep 2, 2026
…+ morning-report correction (#1560) * docs(beta-docs-showcase): retract PARK-BSPRE-4 as stale — Decision 1 entry + morning-report correction The night advisor seat parked BS0 on «container Claude login + Opus profile flip», contradicting kickoff.md:18-25, the meta-launch kickoff :205-208 (PR #1446: no Claude runtime in aif, retired not deferred) and the operator's 2026-09-01 20:01Z directive cancelling that fork. Records the retraction as kickoff.decisions.md Decision 1 (entry before application), corrects the morning report §5/§6 (BS0 is dispatchable on GLM, no operator action), and adds the .gitignore exception for the new umbrella-level decisions file. Owner fork surfaced, not fixed: presets/aif.json + presets/economy.json markers are stale against the live instance. Prior-art: skipped — documentation only, no new capability (decisions-log entry + report correction) * docs(beta-docs-showcase): Decision 2 — BS0 two-leg shape, scratch-repo creation stays an operator floor Prior-art: skipped — documentation only, no new capability (decisions-log entry) --------- Co-authored-by: Test <test@example.com>
artyhoo
added a commit
that referenced
this pull request
Sep 2, 2026
… A (build + in-container gate) (#1561) BS0 is the umbrella's STOP-gate: if a Fumadocs static export cannot serve the route set the docs site depends on, the stack is retired to Starlight (parent D5 falsifier-1). Dispatching it needed a stage kickoff, which did not exist. Two-leg shape (advisor Decision 2, 2026-09-02). The scratch repo the design names, `artyhoo/getff-docs-smoke`, does not exist (`gh repo view` -> "Could not resolve to a Repository"), the aif container has no github.com route, and creating a public repo under the operator's account is outward-facing. So the stage splits: leg A (this kickoff) builds the prototype in the landing container and proves it against a local serve of the export; leg B (host + operator) creates the scratch repo, transplants `smoke/` as its root, enables Pages and quotes the live gate. Leg A green is explicitly NOT BS0 green -- the kickoff states that as a binding reporting rule, so BS0 -> BS1 stays closed until the deployed-URL evidence exists. Deliverables land only under a new `smoke/` directory, laid out as the future scratch-repo root so leg B is a lossless copy. `main` is untouched and the branch never opens a PR against it: the landing repo's Pages is cname-bound to `main:/` (getff.ai), so a second deployment from that repo would displace production. Filename is `kickoff-b0.md`, not `kickoff-bs0.md`, so it matches `^kickoff-[a-z]\d[a-z0-9]*\.md$` (packages/core/principles/kickoff-population.ts:34) and principle 12's citation gate actually resolves it; the `bs0` form would be read as a sidecar and skipped silently. The .gitignore exception mirrors the existing per-umbrella precedents and carries that reason inline. No bridge-profile marker, deliberately: all three modes on the landing project resolve to the executor tier per the operator's GLM-only directive (PR #1446), and the `aif` preset's marker still names the disabled Opus profile. Verification: principle 12 green (9/9); host-verify opt-out accepted; check-kickoff-traps exit 0; markdownlint 0 errors; prettier clean; run-local-ci-sweep -> no gates selected for this diff. Prior-art: skipped -- dispatch-input documentation only. Adds one stage kickoff and one .gitignore exception; no new dependency, no code, no new capability under packages/. Co-authored-by: Test <test@example.com>
Merged
7 tasks
artyhoo
added a commit
that referenced
this pull request
Sep 5, 2026
… economy → GLM-5.3 SDK (#1608) ## Summary Two `/pipeline` launch presets named runtime profiles that no longer resolve on the live aif instance: `presets/aif.json` marker `Claude Opus (plan+review)` is a DISABLED profile (matches by exact name in `AifHandoffBackend._resolveProfileId`, then blocks at runtime auth — the `cf894220` shape), and `presets/economy.json` marker `Z.AI GLM-5.2 SDK` matches no profile at all (the instance runs 5.3; dispatch throws). Both were recorded as a live defect in `.claude/orchestrator-prompts/beta-docs-showcase/kickoff.decisions.md:53-54` and left for the pipeline skill owner; the operator invited the fix on 2026-09-05. Data fix, one concern. ## Changes - `.claude/skills/pipeline/references/presets/aif.json` — `marker: null` (the preset dispatches on the project's per-mode default profiles — the ratified GLM-only posture of PR #1446 / kickoff.decisions.md Decision 1 — instead of forcing a disabled Claude profile); description says so. - `.claude/skills/pipeline/references/presets/economy.json` — `marker: "Z.AI GLM-5.3 SDK"` (unique under the resolver's match; live list quoted below). - `.claude/skills/pipeline/SKILL.md:56` — the Seam #3 sentence names the presets that now carry a marker (economy) and the null-marker set (aif/night/sdd). Live profile list at authoring (`curl -s "$RUNTIME_BRIDGE_AIF_URL/runtime-profiles"`, 2026-09-05): ```text 41315ef6 | Claude Opus (plan+review) | enabled=False 53eca24c | Z.AI GLM-5.3 SDK | enabled=True b6f8d94e | Qwen3.8-Max-Preview | enabled=True 088182b8 | Z.AI GLM-5.3 Flash (implementer) | enabled=True ``` `Z.AI GLM-5.3 SDK` is a strict prefix of nothing and a substring of exactly one row — the marker value rule (`packages/core/templates/shared/tier-home.md:63`) holds. ## Prior-art consult - [x] Not a capability commit (two JSON values + one sentence; `packages/core/hooks/checks/prior-art.ts:142`). - [x] No new capability area. - [x] No SSOT entry matched. - [x] context7 not applicable. ## Test plan - [x] `bash .claude/skills/pipeline/helpers/list-presets.sh` — `aif` renders without a marker (null → no `marker=` suffix, same path as night/sdd, `list-presets.sh:45-47`), `economy` renders `marker=Z.AI GLM-5.3 SDK`. - [x] `bash .claude/skills/pipeline/helpers/resolve-preset.sh aif` emits no `PRESET_MARKER` line (`resolve-preset.sh:74-75` handles null); `... economy` emits `PRESET_MARKER=Z.AI GLM-5.3 SDK`. - [x] `grep -rn 'GLM-5.2 SDK\|plan+review' .claude/skills/pipeline` → only the two edited files before, zero stale hits after; historical kickoffs under `.claude/orchestrator-prompts/` keep their markers as records and are out of scope. ## Provenance n/a ## Review findings n/a ## Fidelity verdict FIDELITY: skipped — data fix of two preset marker values plus one SKILL.md sentence; no stage kickoff applies. ## Parked questions n/a ## §1.7 Self-discipline check (REQUIRED if PR touches discipline-bearing files) ### §1.7 Skipped: data fix of two preset marker values plus one descriptive SKILL.md sentence — no rule, principle or convention introduced; the marker value rule itself is unchanged ## Follow-ups landed in this PR - Regenerated the 8 npm-stack + 3 python snapshot baselines (the pipeline skill payload and the re-rendered AI-USAGE-GUIDE §6a ship at every depth; cargo baselines untouched — green in CI). - `packages/core/hooks/parse-preset.test.ts` follows the new markers (aif: no marker line; economy: GLM-5.3 SDK). - `AI-USAGE-GUIDE.md` §6a re-rendered via `scripts/render-presets.mjs --write` (the Manifest → RULES.md drift job checks it).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Operator directive 2026-08-17: aif runs GLM only — the Claude runtime is not used there. This retires the
beta-docs-showcasedeliverable «per-mode defaults Plan→top tier» in the three places that mandated it, and records why it is retired rather than deferred.The directive is a mechanism now, not a memo:
Claude Opus (plan+review)(41315ef6-…) isenabled: falseon the live instance. It was safe to disable and it changes no running work — measured, not assumed:All three projects route every mode to GLM and the app-level defaults are null, so the resolution chain (
task_override → project_default → system_default,packages/data/src/index.ts:3197-3204) never reached the Claude profile. Nor had it ever run:lastUsageAt: nullsince creation on 2026-07-20, and the container's~/.claude/.credentials.json(dated Aug 9) carriesexpiresAt: 0. The BS-pre smoke taskcf894220died on exactly that —Claude Code returned an error result: Not logged in · Please run /login— which is what surfaced the question.Changes
.claude/orchestrator-prompts/beta-docs-showcase/kickoff.md:18— Tier line: all aif modes on the executor tier, with the reason and the escape (a top-tier seat is a host-side CC session, never an aif dispatch)..claude/orchestrator-prompts/beta-docs-showcase/kickoff.md:51— BS-pre deliverable: «all three modes → executor tier», «retired, not deferred»..claude/orchestrator-prompts/beta-docs-showcase-meta-launch/kickoff.md:205— same, in the Stage 1 dispatch instruction.docs/superpowers/specs/2026-07-23-beta-docs-showcase-design.md:217— B-D6, with the ownership split spelled out.What is deliberately NOT changed
The tier criteria.
tier-home.mdowns them and is a shipped consumer artefact; CLAUDE.md's «Task-tier routing» already assigns which model fills which tier to the aif runtime-profile config — which is exactly the layer that changed. Editing the shipped criteria would widen an operator's machine-level directive into a consumer-facing design change.Backward-check sweep
Class of this change: a dispatch input mandating Plan→top tier for aif dispatch. Enumerated by
grep -rn "Plan→top" --include='*.md'— 4 surfaces beyond this umbrella, none corrected here, each for a stated reason:beta-delivery-ux/kickoff-s4.md:49,92,244,312andbeta-delivery-ux-meta-launch/kickoff.md:234— CLOSED umbrella (merged 2026-08-10,done.mdwritten). Historical artefact, read-only for subsequent sessions per the Artifact Ownership Contract.docs/superpowers/specs/2026-07-23-beta-program-design.md:252— the parent frame, a different owner; its statement is about the beta programme's design intent, not this machine's config.packages/core/templates/shared/tier-home.md:61— shipped, generic, describes the mechanism rather than this instance. See «NOT changed» above.One live defect surfaced, not patched here
.claude/skills/pipeline/references/mode-overrides.md:172maps theaifmode-override preset to the marker valueClaude Opus (plan+review)— now a disabled profile. This does not fail loudly:packages/runtime-bridge/src/AifHandoffBackend.ts:132resolves abridge-profilemarker from an unfilteredGET /runtime-profiles(the API does support?enabledOnly=true, and does not use it here), so a disabled profile still matches by name, the dispatch reports success, and the task blocks later on runtime auth — the sameblocked_externalshape ascf894220. Fixing it belongs to the pipeline skill's owner and carries a real design question (with Claude gone,aifandeconomywould collapse onto the same marker, which makes the preset meaningless — repoint vs retire). Surfaced per the CLAUDE.md PR-strategy rule against drive-by cross-umbrella PRs.§1.7 Skipped: documentation-only correction recording an operator runtime directive — no rule, principle, template, skill or agent semantics change; the three edited files are dispatch inputs and a design spec owned by this umbrella.
Test plan
bash scripts/host-verify.sh beta-docs-showcase— the umbrella kickoff's opt-out is intactgrep -rn "Plan→top", 4 sibling surfaces adjudicated)PUT /runtime-profiles/41315ef6-… {"enabled": true}restores itFidelity verdict
FIDELITY: skipped — non-stage documentation PR, no stage kickoff or acceptance package to audit against.