Repository navigation
GLASS-GI05-HIDE: keep hidden Glass deep links with an honest notice - #1919
Conversation
Cover a typed hidden path through the public App boundary: the URL is kept, the area title and German notice show, the settings link recovers the switch, and the flag persists across a remount. Unknown, visible and explicitly switched-off routes are controls. Plan-ID: GLASS-GI05-HIDE Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A hidden area no longer redirects to the Leitstand. The URL stays, the shell shows the area title, a German notice and a link to Einstellungen, and ShellMount opens no fresh or legacy view underneath. The flag description now also names the gated Beweise and Core Steuerung. Test-First: src/shell/mount/scope-entry.mount.test.tsx::keeps a hidden deep link and shows its honest settings recovery Test-First: src/shell/mount/scope-entry.mount.test.tsx::leaves visible and unknown and explicitly switched-off routes as they are Test-First: src/shell/scope.test.tsx::with D1 on and the scope flag off the sidebar and palette omit non-shell areas and resolveRoute keeps the hidden route Test-First: src/shell/scope.test.tsx::with the scope flag off a hidden hash keeps its URL with a notice and settings link while /start stays Plan-ID: GLASS-GI05-HIDE Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The legacy app synced its goal back into the hash when fed the default path for a hidden area. ShellMount now hands it the last visible route. Test-First: src/shell/mount/scope-entry.mount.test.tsx::keeps a hidden deep link after the legacy app has left another goal Plan-ID: GLASS-GI05-HIDE Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Plan-ID: GLASS-GI05-HIDE Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The settings link in the hidden-area notice now carries the existing ghost button classes used by the version-updates screen. Href, text and routing are unchanged. No-Test: design class only, href and text unchanged, covered by existing src/shell tests Plan-ID: GLASS-GI05-HIDE Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
CI triage (Root, 2026-10-26T03:30:01Z), head dcc4503, run 40263299061 job linux_2: gate e2e ROT(1), 15 passed. Failing test: e2e/shell.core.spec.ts:59 "hidden areas redirect to the Leitstand until weitere Bereiche is on" (expected #/leitstand, received #/eingang/plan). Classification: real, PR-caused, not flaky. The package intentionally drops the Leitstand redirect (resolveRoute = lookup; Shell.tsx no longer calls location.replace) and keeps the hidden URL with a notice, but the e2e test still encodes the old redirect contract and is not among the 7 changed files. Required: NACHBESSERN on this branch: update e2e/shell.core.spec.ts to assert the new contract (hash stays on the hidden path, .g-shell visible, notice/settings link shown; optional: with flag weitere_bereiche on, the area opens). Test-only delta (tier C file); the existing Codex/Kimi verdicts stay bound to dcc4503 and the delta gets gates. No review-ok until linux_2 is green. |
Replace the stale redirect expectation with the approved hidden-area contract: retain the URL and show the honest note and settings link. Keep the accepted runtime and existing flag-enabled route walk unchanged. Plan-ID: GLASS-GI05-HIDE No-Test: test-only alignment to approved retained-URL behavior Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Fix-round delta review (Root, 2026-10-26 04:30Z) — bound to head 4a990a3Delta: dcc4503..4a990a3, one commit "Align hidden-area e2e with retained URL behavior", Delta reviewer: Kimi K3.1 Pro ( Gate: rule 5 fix-round delta (one outside reviewer) satisfied. |
|
review-ok set by Root 2026-10-26 04:33Z, bound to head 4a990a3. Checks: gates (linux/windows), linux_1, linux_2, red-first, windows tests = pass. Reviews: Codex feeder + Kimi K3.1 Pro APPROVE @dcc45032 (source unchanged since); fix-round delta dcc4503..4a990a3 reviewed by Kimi K3.1 Pro APPROVE. Any further push voids this label. @Mergifyio queue |
Merge Queue Status
This pull request spent 8 minutes 41 seconds in the queue, including 7 minutes 57 seconds running CI. Required conditions to merge
|
Wer eine ausgeblendete Adresse wie
#/gedaechtnisoder#/steuerung/autonomieöffnet, wird nicht mehr heimlich zum Leitstand umgeleitet. Stattdessen bleibt die Adresse stehen, und es erscheint der Bereichstitel mit dem Satz „Dieser Bereich ist noch nicht verbunden und ausgeblendet." und einem Link zu den Einstellungen. Der Schalter „Weitere Bereiche", sein Standardwert (aus), die Seitenleiste und alle sichtbaren Bereiche bleiben unverändert; Beweise und Steuerung bleiben wie bisher hinter dem Schalter, und die 13 Platzhalter-Bildschirme sind nicht gebaut.Report
Test-only alignment — GLASS-GI05-HIDE / #1919 (2026-10-26)
Current head:
4a990a343e3b49ee3fcf5d4e618ed161df977a38; accepted runtime / previous head:dcc450323437cf548ac95b3a35424845bede17d3. Same PR and branch; the earlier report and runtime reviews below remain historical evidence for their stated heads.Change: only
e2e/shell.core.spec.ts, 7 added + 3 deleted = 10 RAW lines for this correction; full PR 122 RAW lines against the merge-base. Rename the existing hidden-area test and replace its stale Leitstand redirect expectation with the approved exact retained URL. For every hidden registry area it asserts the visible.g-shell, exact honest hidden notice, visible recovery link andhref="#/einstellungen". The existing flag-enabled walk still checks all 26 routes. Runtime, CSS, routes, flags, IPC, mocks, PLAN and dependencies are unchanged; no skip, retry, timeout or assertion weakening was introduced. Unknown-route tests are untouched.Author evidence: actual native
turn_contextat 2026-10-26 04:08:52Z reportsgpt-6.1-sol, efforthigh. The supplied native admission JSON hash matched; its observation was less than 60 minutes old at start. Start/process/RAM/load/target guards passed before heavy phases, with the assigned warm target andCARGO_BUILD_JOBS=1.get_goalreturnedgoal: null; no parent/native goal was completed. Thelage-jetztmirror was unavailable; live GitHub/main evidence was checked instead. Live mainb69683d6had successful ci, Push on main, dev-build and test-insights runs at the start.Evidence (commands and raw exits):
npm run dev:start-check -- --max-cargo 2 --min-free-gb 3.5→ exit 0. Native quota evidence came from the supplied admission record, separately from the CLI's warning about no--usagefile.npx playwright test e2e/shell.core.spec.ts --grep 'hidden areas redirect to the Leitstand until weitere Bereiche is on'atdcc45032→ exit 1, one actual failing test: expected#/leitstand, received#/eingang/plan. This independently reproduced the stale CI expectation reported by Root.npx playwright test e2e/shell.core.spec.ts→ exit 0, 3 passed (including the 26-route flag-enabled walk).bash scripts/ci/secret-scan.sh→ exit 0 before commit; ordinary precommit and commit-message hooks → exit 0.BASE_SHA=dcc450323437cf548ac95b3a35424845bede17d3 HEAD_SHA=4a990a343e3b49ee3fcf5d4e618ed161df977a38 bash scripts/ci/red-first.sh→ exit 0 for this bounded test-only delta. Trailer:No-Test: test-only alignment to approved retained-URL behavior; no new runtime fix or fabricated red test is claimed.bash scripts/ci/gates.sh lane prepushin the assigned worktree at4a990a34→ exit 0, 292 seconds; Rust: 2327 passed, 7 existing skips. All configured prepush gates passed, including architecture drift, lint, frontend tests and clippy.git push -u origin claude/glass-gi05-hide→ exit 0; its ordinary full prepush hook also passed (179 seconds).git ls-remote origin claude/glass-gi05-hide→ exit 0, exact remote head4a990a343e3b49ee3fcf5d4e618ed161df977a38;gh pr view 1919 --json url,isDraft,headRefOid→ exit 0, same head andisDraft: true.NICHT ABGEDECKT (this correction):
#[cfg(windows)]tests (run_in_pty, npm_shim, ConPTY, DPAPI) or Windows clippy arms; the Windows lane runs in the merge queue.Review: Review: ausstehend (Stufe C). Root explicitly authorized gates only for this test-only correction; no new review was commissioned by the worker. Existing OpenAI/Moonshot runtime dispositions remain bound to
dcc45032. Root/Vertretung owns the new-head CI linux_1 + linux_2 checks and any ready/review-ok/queue action; the worker keeps this PR DRAFT.Earlier runtime report and review history
Model: actual native model
claude-sonnet-5-5(Claude Code subscription), observed from the session's own model identity; the effort level (high requested) is not exposed to the worker, so it is not claimed.Base / head:
5c15cddeccf6e0ab8333f2c72326cc94223c263e(= liveorigin/mainat start) /dcc450323437cf548ac95b3a35424845bede17d3(previous headb59413318b4f3636ad35a31b5d52a4e6c2345d59); code head for the first browser walkd64fe0f3, for the correction walkdcc45032.Size: 7 files, RAW 112 added+deleted incl. tests and the PLAN row (limit 300). Runtime:
src/shell/routes.ts,src/shell/Shell.tsx,src/shell/mount/ShellMount.tsx,src/i18n/de.ts; testssrc/shell/scope.test.tsx,src/shell/mount/scope-entry.mount.test.tsx;docs/PLAN.mdone own row. No native seam, no browser-regression file added.What changed
resolveRouteno longer maps a hidden area to the Leitstand;isHiddenstays the single scope check.Shelldrops thelocation.replaceredirect and, for a hidden path, shows area title (+ tab title),shell.hiddenand a link#/einstellungen("Weitere Bereiche in den Einstellungen einschalten"); no sidebar entry is marked current and the tab strip is not offered.ShellMountopens no fresh Steuerung and no legacy portal for a hidden path, so the notice is visible; the legacy child stays mounted and receives the last visible route (feeding it the default path made the legacy app write#/leitstandback into the hash after a visit to Einstellungen — found by the browser walk, pinned by its own red test).flag.weitereBereiche.descriptionnow names the unconnected extras and the gated Beweise/Core · Steuerung. Switch label/id/key/default,SCOPE_ROUTE_IDS, QuotaBar and StartRoute are untouched.Evidence (command, raw exit)
npx vitest run src/shell/mount/scope-entry.mount.test.tsxatc725cf00(tests only on top of base) → exit 1;keeps a hidden deep link and shows its honest settings recoveryfails withexpected '#/leitstand' to be '#/gedaechtnis', the second new test with'#/leitstand'vs'#/team/personas?x=1'. The later testkeeps a hidden deep link after the legacy app has left another goalwas red (Received: "#/leitstand") before its fix commit.npx vitest run src/shell→ exit 0 (20 files, 134 tests).npx vitest run src/flags src/screens/einstellungen→ exit 0 (8 files, 91 tests).npm run build→ exit 0.bash scripts/ci/gates.sh lane prepush(CARGO_TARGET_DIR slot3, CARGO_BUILD_JOBS=1) → exit 0; push hook ran green on the earlier pushes as well.Test-First: path::namelines (one per line) and passed the commit-msg and red-first checks.git ls-remote origin claude/glass-gi05-hide= head above.Browser evidence (real Chromium, finite Vite child, existing
tauriBrowserMock, not committed)Viewport 1440x900,
reducedMotion: reduce, theme "System" (Glas), fresh context, D1 default. BASE =git archive 5c15cdde, candidate =d64fe0f3. All images inspected by the worker.#/leitstand, sidebar Fabrik/Betrieb/Einstellungen175fd9e7…175fd9e7d3ce7b0d55df5dcf6712b40f767a8c729e5f9f124023afae92039c28(identical)#/gedaechtnis#/leitstand(175fd9e7…)246f50ad33665eee5f19ed1a684f9ea4019b0a6393b31a03388e3ca2c60978df)#/steuerung/autonomie#/leitstand8146ad2cce34ef405b78adca4f411b2e6f3738132b34648cb70ce1407dbbcf48)aee90227…7caaded57b65bbb8080047ff09cd590cb79443adc4ae8dec2f75e9e3ffb0b41c(new description text)#/team/personasplaceholder65bbc4dc5ffb8d7845c836d56e6473cdd31dbc2afedd085e8214df19fca546c665bbc4dc…65bbc4dc5ffb8d7845c836d56e6473cdd31dbc2afedd085e8214df19fca546c6#/gedaechtnisplaceholdera234b4a2…a234b4a2247082ef11e66bcce7d0009c4e8fc038128328676062689b50ef5584(identical)#/gedaechtnis#/leitstand246f50ad…, same as 02)Screenshots stay on the worker server (
/tmp/gi05/shots), not in the repo. The hidden notice link renders with the browser's default link style (no extra CSS,shell.cssis outside the allowed files).G1–G8
src/shell134 tests green, no scope or route change.0stays off, reload step 06.NICHT ABGEDECKT
#[cfg(windows)]tests and the Windows clippy arms (Linux run); the Windows lane runs in the merge queue.b5941331).Review
Review: ausstehend (Stufe B; Root requires two independent non-author families). Next owner: Root (review dispatch, ready, Mergify).
Correction round (R1919-U1, head
dcc45032)Disposition (source-qualified):
dcc450323437cf548ac95b3a35424845bede17d3.Change:
src/shell/Shell.tsx, the existing hidden-state link only:<a href="#/einstellungen">→<a className="g-btn g-btn--ghost g-btn--sm" href="#/einstellungen">(the class string ofsrc/screens/einstellungen/VersionUpdates.tsx:127). Delta 1 added + 1 removed = 2 RAW lines; no new CSS, no test change. TrailerNo-Test:(design class only, covered by existingsrc/shelltests). Model: observedclaude-sonnet-5-5(subscription CLI); effort not exposed to the worker. Admission: last successful native record 01:41:00Z (Claude 50% week / 37% session), the later gauge reads (02:09/02:16) failed withrate_limitedand are not a measured zero; started 02:18Z, within the 60 minute window; admission file sha2567457fa7f…ec79verified.Start checks: PR #1919 DRAFT, head and
git ls-remote=b5941331before the change; only this job's own CLI process ran;npm run dev:start-checkexit 0; load 1.6, MemAvailable 14.5 GB, no cargo build,CARGO_TARGET_DIR= slot1,CARGO_BUILD_JOBS=1, noCARGO_PROFILE_*; latest completedmainrun (5c15cdde) green, a newer run was still in progress (not red).Evidence (command, raw exit):
npx vitest run src/shell→ exit 0 (20 files, 134 tests, unchanged tests).npm run build(tsc,scripts/contrast-check.mjs, spec-status check, vite build) → exit 0.bash scripts/ci/gates.sh lane prepushatdcc45032(slot1, jobs=1) → exit 0 (gesamt 282 s).git push -u origin claude/glass-gi05-hide→ exit 0;git ls-remote origin claude/glass-gi05-hide=dcc450323437cf548ac95b3a35424845bede17d3.Browser evidence for the new head (real Chromium, own finite Vite child with the existing Tauri mock, closed in
finally; viewport 1440x900,reducedMotion: reduce, URLhttp://127.0.0.1:5199/#/gedaechtnis, flag default off, headdcc45032). The public theme control (radio "Hell" / "Dunkel" in the shell bar) was clicked; both images inspected by the worker.data-themelight#/gedaechtnisg-btn g-btn--ghost g-btn--sm/#/einstellungen/ "Weitere Bereiche in den Einstellungen einschalten"rgb(47, 55, 71)fcea4c5f84e9d899e96e4c23024ff7db4097de3ad982d266fe16211e74fe0d70dark#/gedaechtnisrgb(201, 208, 218)a4c8195f99d939ace923da9290c8b33f5b31054d076b76475850a28c9f64c274What the images show: title "Wissen", the honest notice, and the link now with the ghost-button padding, readable (dark text on light, light text on dark); the ghost variant has no fill or border, so it still reads as an underlined link, only inset. Files on the worker server:
/tmp/gi05-u1/shots/hidden-hell.png,hidden-dunkel.png,facts.json, script/tmp/gi05-u1/walk.mjs. The first-round images in/tmp/gi05/shotsare preserved; they do not cover the new head.Old gates: the evidence above this section belongs to
b5941331/d64fe0f3; only the commands listed in this section coverdcc45032.NICHT ABGEDECKT (correction round):
#[cfg(windows)]tests and Windows clippy arms (Linux run; the Windows lane runs in the merge queue); native/installed app and UAT; whole-Glass acceptance and the parent stay open; no contrast measurement of the new link beyond the existingscripts/contrast-check.mjsgate and the computed colours above; no new regression test (no new implementation-mirror test, per order).Review: ausstehend (Stufe B; per Root one Moonshot full review and only a necessary Codex class delta, arranged by Stabs/Root, not by this worker). Root alone decides acceptance/ready/review-ok/Mergify. Keep DRAFT.
🤖 Generated with Claude Code
Root review disposition (head
dcc450323437cf548ac95b3a35424845bede17d3, 2026-10-26 03:17Z)Tier B (frontend TS, no seam); author family Anthropic (claude-sonnet-5-5). Two non-author families:
srv-review-pr1919-codex-0248(OpenAI, gpt-6.1-sol)b5941331eb9e380d)b5941331Shell.tsx:59recovery link unstyled<a>dcc45032(one line,className="g-btn g-btn--ghost g-btn--sm"); the deltab5941331..dcc45032is covered by the Moonshot full review belowkimi-code/k3.1-pro, session4c42719a, wire.jsonl model evidence)dcc45032Verdicts: Codex APPROVE WITH CONDITIONS (conditions dispositioned above), Kimi APPROVE. No open high finding. A separate Codex delta review of the one-line fix is not commissioned: the Moonshot full review on the new head covers it. Report copy:
pa-orch/reports/review-pr1919-kimi.md(PC).