coreci
3bde906505
fix(P05): verify — restore main landmark to the shell layout (P1)
...
---ci---
phase: 5
milestone: v0.1
status: verify
persona: ci-lead-developer
requirements:
covered: [REQ-63, REQ-64, REQ-65, REQ-66]
partial: []
---ci---
Four-layer verification of P5. Structural: all shell components +
7 routes in-shell, boundary methods present, house doc-headers
throughout. Behavioral: 72/72 tests (sidebar, palette, avatar,
library folder/sort/connections, settings round-trip, 9 boundary
tests); 3-click path pinned green post-shell; typecheck/lint/build
clean. Security: zero secrets/env in frontend, mock-client imported
only by client.ts, apiKeys immune to client overwrites (exfil-style
test proves it). Quality: all data via api.*; honest preview labels;
design tokens only; Reading Room untouched (68ch preserved).
P1 fixed in-phase: the P5 restructure downgraded per-page <main> to
<div> without adding a landmark in the shell — zero main landmarks.
Fixed: layout.tsx wraps page children in <main>. Gates re-run green
after fix. P2 notes logged for v0.2: version string hardcode, palette
pt-[14vh], duplicate profile fetch, act() stderr noise.
2026-09-27 03:23:28 +00:00
coreci
94dc2324cc
docs(P05): README shell/library/settings surfaces + lint cleanup (T-5.5)
...
---ci---
phase: 5
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-5.5
requirements:
covered: [REQ-63, REQ-64, REQ-65, REQ-66]
partial: []
---ci---
README rewritten for the extended prototype: shell described in the
quickstart (sidebar + top bar + zero added clicks), Library/Settings/
⌘K/Avatar sections, project layout updated (settings route, shell
layout), scope note extended to fixtures and v0.2 honesty. Unused
Link/useRef imports dropped from app-top-bar (lint clean, 0 warnings).
Gates: typecheck, lint, 72/72 tests, production build — all green;
7 routes in the build output incl. new /settings.
2026-09-27 03:17:30 +00:00
coreci
a39ffb5e2a
feat(P05): settings screen — API keys, storage, defaults, appearance, about (T-5.4)
...
---ci---
phase: 5
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-5.4
requirements:
covered: [REQ-65]
partial: []
---ci---
/settings (new route): API keys section (masked values, configured/
not-configured state, 'key entry lands in v0.2' honesty), storage
directory (editable, REQ-10 vocabulary), methodology defaults
(default methodology select + resolved 12-dial display from the
methodology's own dial bundle — REQ-04 reproducibility), appearance
(Paper light theme, preview-marked, deliberate post-MVP dark-mode
note), About & version (v0.1.5 prototype notice, #about anchor for
the avatar menu link). Save flow: dirty-tracking, disabled-until-
dirty, saving/saved/error states, round-trips through api.saveSettings.
5 test suites; gates green (72/72).
2026-09-27 03:16:02 +00:00
coreci
10a340140f
feat(P05): research library — folder tree, sorting, cross-report connections (T-5.3)
...
---ci---
phase: 5
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-5.3
requirements:
covered: [REQ-64]
partial: []
---ci---
LibraryView upgraded to the P5 deliverable: Stored-reports panel
(folder tree — All reports + 3 auto-categorized fixture folders with
counts; sort select — recency/title; report cards linking into the
Reading Room with date/methodology/citation metadata; honest empty
state). Connections panel: cross-report edges from the boundary —
shared-sources ⇄ and related-topic → with human labels. Project
graph + task inbox (v2 preview, REQ-60) retained on the right rail.
All data via api.getReportLibrary/getReportConnections — REQ-53
boundary discipline holds. Library tests rewritten: 8 covering
folders, filtering, both sort orders, connections, retained panels.
Gates green (67/67).
2026-09-27 03:14:48 +00:00
coreci
32ef74f995
feat(P05): app shell — sidebar, top bar, ⌘K palette, avatar menu (T-5.2)
...
---ci---
phase: 5
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-5.2
requirements:
covered: []
partial: [REQ-63, REQ-66]
---ci---
Root layout now hosts the persistent shell: AppSidebar (nav: New research/
Library/Settings; connection-status dots for all 5 adapter slots — v0.2
preview; honest prototype caption) + AppTopBar (screen label, ⌘K search
slot, avatar button). CommandPalette: navigation-only — screens + stored
reports from the boundary, keyboard-first (filter/arrow/enter/escape),
honest 'full search ships in v0.2' footer. UserMenu: local single-user
profile (initials disc), Settings + About links, Escape/outside-click
dismiss. All 5 routes restructured under the shell; duplicated per-page
<main> wrappers and one-off 'ResearchX' eyebrow captions removed.
11 shell tests; gates green (62/62).
2026-09-27 03:13:16 +00:00
coreci
4df1b86b33
feat(P05): ApiClient shell boundary — library, connections, settings, profile (T-5.1)
...
---ci---
phase: 5
milestone: v0.1
status: execute
persona: frontend-engineer
task: T-5.1
requirements:
covered: []
partial: [REQ-64, REQ-65, REQ-66]
---ci---
Types: ReportSummary, ReportFolder, ReportLibrary, ReportSortKey,
ReportConnection(+Kind), ApiKeySetting, ConnectionSlot, Settings,
UserProfile. ApiClient gains getReportLibrary, getReportConnections,
getUserProfile, getConnectionStatus, getSettings, saveSettings —
each documented with its v0.2 API mapping. MockApiClient: session-
persisted settings (masked keys never round-trip; apiKeys/theme
immune to client overwrites — backend owns masking in v0.2). Fixtures:
4 stored reports in 3 auto-categorized folders, 5 cross-report edges
(shared-sources + related-topic), 5 adapter-slot statuses, local
single-user profile. 9 boundary tests; gates green (51/51).
2026-09-27 03:11:45 +00:00
coreci
5c52bd1a39
docs(P05): owner gate feedback — app shell extension phase (REQ-63..66)
...
---ci---
phase: 5
milestone: v0.1
status: execute
escalation:
type: prototype_approval
hook: prototype_approval
resolution: binding_extension
message: >-
Owner returned gate feedback instead of approve/reject: extend the
prototype with a persistent app shell (sidebar + top bar + avatar),
research library folder structure, and settings before re-presentation.
Feedback becomes binding requirements REQ-63..66 as execution phase 5
(+ P6 final re-review); the milestone merge to main stays halted until
the extended prototype is approved at the REQ-62 gate.
requirements:
covered: []
partial: [REQ-63, REQ-64, REQ-65, REQ-66, REQ-62]
---ci---
ROADMAP: P4 marked shipped-superseded; P5 (app shell + library + settings
+ avatar) and P6 (final review + approval re-presentation) inserted; final
phase renumbered to 6. REQUIREMENTS: REQ-63..66 added under the new App
Shell Extension section; traceability updated. PLAN.md: phase-5 waves with
MVP/UX sections. Checkpoint advances to phase 5 execute.
2026-09-27 03:10:18 +00:00