Skip to content

fix(knowledge): finish lookbook V2 facts camera on the #707 tip - #1540

Closed
ScriptedAlchemy wants to merge 5 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
cursor/knowledge-lookbook-v2-followup-9d8b
Closed

ScriptedAlchemy wants to merge 5 commits into
codex/tracedecay-total-redesign-plan-reopenedfrom
cursor/knowledge-lookbook-v2-followup-9d8b

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 17, 2026 •

Copy link
Copy Markdown
Owner

Summary

Follow-up to #1522, whose first three commits were integrated onto this branch at 97f6cff320 / 4feafbf97a / d157d57baf. This PR carries the remaining Knowledge (ch 07, /knowledge) work from the same run, rebased on the current tip, plus one refactor onto the shell mechanism that landed here in the meantime:

  • Keep the fact ledger in view at 1440×900: the constellation takes a capped share of the viewport, its key sits beside the field from lg, and the sort control moves onto the ledger's title bar. Below lg the camera stacks at natural height so the summary bay can no longer paint through the field.
  • Inspect on pointer movement, not entry, on ledger rows and constellation bodies — a list scrolling under a parked pointer (which is what the roving arrow keys do) was stealing inspection from the row the keyboard had just focused.
  • Label collision avoidance in the pure constellation layout (bounded budget, greedy, deterministic).
  • Selecting a fact on the field or from the address brings its exact ledger row into view, moving only the ledger's own scroller.
  • Post the plate's strip cells — MEMORY, GRAPH, CAMERA — through the canonical usePublishStatusRegisters that now exists on this branch, and delete the workspace-owned register row that duplicated it; the overview envelope's coverage/freshness/refresh returns to the canonical EnvelopeTruth header.
  • Let two-word provenance terms wrap inside the 24rem inspector bay.

Changes

  • dashboard/src/workspaces/knowledge/knowledgeRegisters.ts (+ test) — pure register builders (memoryRegister, graphRegister, cameraRegister); a sub-read state never outranks the envelope that carries it.
  • KnowledgePage.tsx — publishes registers (knowledge, knowledge:facts), restores EnvelopeTruth, natural-height stack below lg, sort control on the ledger title bar.
  • FactConstellation.tsx — field height clamp(180px, 30vh, 360px), side key from lg, dims only for inspection (selection is a ring), onPointerMove.
  • FactLedger.tsx — FactSortControl export, compact slice statement, selected-row scroll sync within the ledger scroller.
  • FactInspector.tsx — wrapper carries the test hooks; retrievals / accesses as separate terms; wrapping term column.
  • constellation.ts — label collision pass.
  • ui/archetypes/ExplorerSplit.tsx — DataRow.onInspect fires on onPointerMove + onFocus; new rowId → data-row-id.
  • ui/StateChip.tsx — drops the stateLampClass helper (its only caller was the deleted register row; STATE_LAMP stays).
  • Deleted: KnowledgeRegister.tsx.

Test plan

  • npm run typecheck
  • npm test — 185 files / 1811 tests green on this tip
  • npm run build + scripts/check-dashboard-bundle.py
  • Fixture-served production bundle in Chrome 148: 41/41 checks — hover inspects without a /fact/ request and dims unrelated bodies; click writes ?fact= and reads detail + audit; reload reopens; arrows move focus and inspection together; Enter selects; Escape unwinds inspection then selection; sort/query in the address; ledger row scrolled into view on field selection without moving the page; touch ≥ 44px and no horizontal overflow at 1440 / 768 / 320 / 200%; reduced motion pins transitions and removes scanlines; summary bay stacks below the field on narrow viewports; MEMORY ready, GRAPH partial, CAMERA Facts on the shell strip; no page errors.
  • Real daemon built from this branch's tip (a7eda47dc2, embedded dashboard): daemon run, init a registered project, 7 × tool fact_store_add, 3 × tool fact_feedback, dashboard --port 5299 — 12/12 checks: 7 rows for 7 daemon facts; 7 bodies from a 19-node / 16-edge verified graph; strip shows LINK live · MEMORY ready 7 facts · GRAPH ready 7 roots · 16 relations · CAMERA Facts; canonical detail ready with linked entities; complete_zero_findings audit for an unrated fact; a 2-event trace for the rated one (the third feedback was an idempotent replay — the inspector shows the store's 0.85, not a fabricated 0.95); no page errors.
  • cargo nextest / cargo clippy — not run (no Rust changes)

Checklist

  • CHANGELOG.md updated
  • No secrets, credentials, or .env files included
  • No breaking changes (DataRow additions are optional; stateLampClass had no other caller)

Gaps against the plate (typed, not hidden)

  1. repo / path / observed in N commits — no repository or path authority is joined to memory facts; the inspector says so and shows free-form metadata as data.
  2. first seen / last seen — rendered as the real fields created, updated, last recalled, projected as of.
  3. Detail-availability checklist (source verified, symbol resolved, doc extracted, tests observed, runtime observed) — no verification authority is served; the rung is unavailable with the reason. Geometry membership is unknown on Facts.
  4. Pagination — memory_api::overview serves one trust-ranked slice, limit ≤ 100, no cursor. The ledger states the bound and the count beyond it; server paging is a backend gap.
  5. Geometry preview inside the Facts inspector — not read on Facts by design; a control opens the Geometry camera with the fact retained.
  6. Constellation is DOM/SVG per IMPLEMENTATION.md; density is bounded by the daemon's graph limit; labels are budgeted with collision avoidance; no client-side clustering for thousands of roots.
  7. Fact→fact relations draw only when served; the real store produced mentions + active_assertion only.
  8. Shell strip does not wrap: with the rail expanded at 1440 the three knowledge registers end at ~1567px (Code's three end at ~1686px). Shell-level; not changed here.
  9. dashboard/audit-baselines/knowledge__*.png drift (harness not in CI); not re-baselined — Playwright's own Chromium is not installed here, system Chrome was used.
  10. Curation and Oplog cameras unchanged; the plate's per-operation curation board has no proposal-queue authority today.
Open in Web Open in Cursor 

cursoragent and others added 3 commits September 17, 2026 03:42
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@changeset-bot

changeset-bot Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8e885e1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

cursoragent and others added 2 commits September 17, 2026 04:07
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
@ScriptedAlchemy

Copy link
Copy Markdown
Owner Author

Integrated directly on #707; dashboard typecheck and the full 205-file / 1,980-test suite pass.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants