Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
5f8d79f
FE-7XX: Planning sync — Conversational Workspace Runtime umbrella
kostandinang May 13, 2026
404e85d
FE-709: Replace per-phase InterviewView with ContinuousWorkspaceView
kostandinang May 13, 2026
c9b9e99
FE-709: Extract useContinuousWorkspaceController
kostandinang May 13, 2026
a69fb07
FE-709: Sidebar scroll-spy highlighting via WorkspaceFocusContext
kostandinang May 13, 2026
71e50ef
FE-709: Handoff after Steps 1-3 build burst
kostandinang May 13, 2026
3c1d072
FE-709: Extract shared controller helpers and enrichBottomArtifact to…
kostandinang May 13, 2026
ab04feb
FE-709: Retire route-first test assumptions
kostandinang May 13, 2026
c8eb862
FE-709: Resolve continuous workspace review findings
kostandinang May 13, 2026
04325cc
FE-709: Tighten stable mutation callback refs
kostandinang May 13, 2026
550d75f
FE-709: Narrow scroll-spy stability fix
kostandinang May 13, 2026
7cf302b
FE-709: Restore submitted live tool running state
kostandinang May 14, 2026
d0e93ed
FE-709: Forward-port completed-tool indicator fix into core
kostandinang May 14, 2026
dce8bbe
FE-709: Remove HANDOFF.md per its retirement rule
kostandinang May 15, 2026
8393321
re-sync and add notes about server refactor
lunelson May 15, 2026
0764b3b
ln-sync updates
lunelson May 15, 2026
0c7799e
resolve threads and thread_context concepts
lunelson May 15, 2026
06e2232
update spec skill to use username based id suffixes on items
lunelson May 15, 2026
3b4bf22
design and contract additions around intent graph semantics
lunelson May 15, 2026
6b73a7c
align and update convo runtime doc with cross-references
lunelson May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions .agents/skills/ln-spec/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,20 @@ The feature or problem: $ARGUMENTS

Write or update `memory/SPEC.md` following the [spec template](assets/spec-template.md). If the file already exists, read it first — preserve existing content, evolve sections that need change.

### Identifier scheme

Before adding any new cross-referenceable item, derive the session's author suffix from the local user name: take `basename "$HOME"`, then uppercase its first character. Example: `/Users/lunelson` → `L`. Append this suffix to every new item identifier: `A47-L`, `D12-L`, `I47-L`, etc.

When assigning the numeric part for a new item:

1. Scan existing identifiers with the same prefix (`A`, `D`, `I`, requirement/oracle prefixes if present).
2. Compute the next number from legacy unsuffixed IDs plus IDs with the same author suffix.
3. Ignore IDs with other author suffixes for incrementing, so parallel sessions can safely produce `I47-L` and `I47-K`.
4. Do not rename or renumber existing IDs just to add a suffix; only preserve and update them unless a deliberate cleanup is requested.
5. Use the full suffixed ID in every cross-reference (`Depends on: D12-L`, `Proves: R3-L / D8-L`).

If `$HOME` is unavailable or the basename is empty, ask the user for the suffix instead of inventing one.

### SPEC shape

Use the mature SPEC shape unless the existing project clearly predates it and the user only asked for a narrow patch:
Expand Down Expand Up @@ -86,9 +100,9 @@ Large cleanup is `ln-sync` work. When writing or patching, keep the touched area
Every amendment must close its reference chain as far as the current lifecycle stage allows. After editing, verify:

- **New requirement** → has: product capability area and PLAN/frontier references if it changes upcoming work
- **New assumption** → has: dependent decision(s) or invariant(s), validation approach, and implicated frontier item(s) in `memory/PLAN.md` **if `memory/PLAN.md` already exists**
- **New decision** → has: dependent assumption(s) where relevant, supersession note, and enough rationale to identify the chosen seam
- **New invariant** → has: establishing frontier item in `memory/PLAN.md` **if known** (or scoped slice if already defined), protecting test/oracle (or `planned` / `manual (outer loop)`), proved decision or requirement
- **New assumption** → has: suffixed identifier, dependent decision(s) or invariant(s), validation approach, and implicated frontier item(s) in `memory/PLAN.md` **if `memory/PLAN.md` already exists**
- **New decision** → has: suffixed identifier, dependent assumption(s) where relevant, supersession note, and enough rationale to identify the chosen seam
- **New invariant** → has: suffixed identifier, establishing frontier item in `memory/PLAN.md` **if known** (or scoped slice if already defined), protecting test/oracle (or `planned` / `manual (outer loop)`), proved decision or requirement
- **New future direction** → has: PLAN frontier/horizon pointer or design-doc pointer; not full acceptance detail unless already active
- **New constraint** → has: rationale for exclusion
- **New inner-loop oracle item** → names the invariant(s) it protects
Expand Down
6 changes: 3 additions & 3 deletions .agents/skills/ln-spec/assets/spec-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

| # | Assumption | Confidence | Status | Depends on | Validation approach |
| --- | --- | --- | --- | --- | --- |
| A1 | [hypothesis] | low/medium/high | open | [D# / I# / Requirement #] | [how to falsify] |
| A1-U | [hypothesis] | low/medium/high | open | [D#-U / I#-U / Requirement #] | [how to falsify] |

### Active Decisions

Expand All @@ -56,7 +56,7 @@
live in code/design docs or be omitted. Group decisions by subsystem when useful.
Leave concise retirement comments for removed ID ranges when helpful. -->

1. **[Decision]** — [rationale]. Depends on: [A1]. Supersedes: [—|D#].
- **D1-U — [Decision]** — [rationale]. Depends on: [A1-U]. Supersedes: [—|D#-U].

### Critical Invariants

Expand All @@ -67,7 +67,7 @@

| # | Invariant | Protected by | Proves |
| --- | --- | --- | --- |
| I1 | [property] | [test/manual oracle/planned oracle] | [Requirement # / D#] |
| I1-U | [property] | [test/manual oracle/planned oracle] | [Requirement # / D#-U] |

## Future Direction Register

Expand Down
2 changes: 2 additions & 0 deletions docs/archive/PLAN_HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Archived from the legacy phase-ledger form of `memory/PLAN.md` on 2026-04-14 dur

## Recent Frontier Archives

- 2026-05-15 — **Side-chat persistence V4a retired as an independent frontier** — persistent side-chat history was absorbed into Conversational Workspace Runtime Track 2. After the chat/thread reconciliation, the near-term runtime uses durable secondary chats over the existing chat/turn substrate; schema-level `thread` is deferred until chat/turn proves insufficient.
- 2026-05-08 — **Side-chat V3.0 hard-impact cascade** — FE-674 / PR #115 + #116 + #117 shipped hard-impact cascade through `reconciliation_need`, Pending review listing, and idempotent resolve. Verified: `npm run verify` (1063 tests, 0 lint warnings). Watch moved forward to V3.1 / reconciliation-runtime walkthroughs.
- 2026-04-27 — **Runtime JSON payload hardening (FE-625)** — Express API parsing now accepts chat-sized request bodies above the default parser ceiling and returns a JSON 413 response instead of Express HTML when a payload exceeds the app limit. Verified: `npm run verify`. Watch: if real chat requests still exceed the 5 MB limit, investigate client history / tool-result pruning rather than only raising the ceiling.
- 2026-04-24 — **Distribution hardening release path (FE-531)** — `package.json` now declares the Node 22+ engine floor, explicit shipped files, and public scoped publish config; `npm run release` drives release-it at repo root, rebuilds and dry-runs the packaged artifact, and documents npm auth prerequisites. Verified: `npm run verify`. Watch: CI trusted publishing is still intentionally out of scope.
- 2026-04-23 — **Interviewer-autonomous question format with phase-aware gating** — revised D115: the interviewer now chooses whether to include options per-question based on conversational trajectory; observer interprets selections as resonance (grounding) or commitment (design); ActiveQuestionCard has phase-aware submit gating and "none of the above" copy.
Expand Down
2 changes: 1 addition & 1 deletion docs/design/CONTINUOUS_WORKSPACE_HYBRID.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Continuous Workspace Hybrid Design

> Design exploration from 2026-04-20.
> Status: **proposed direction** — hybrid continuous workspace with preserved phase addressability.
> Status: **selected and shipped in FE-709** — hybrid continuous workspace with preserved phase addressability; deeper route collapse remains deferred.
> Canonicality: this is a focused design note for the interview workspace shape, not the live product authority. For what is true now and what should happen next, prefer `memory/SPEC.md` and `memory/PLAN.md`.

## Why this note exists
Expand Down
Loading
Loading