Skip to content
Closed
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
ce4663c
feat: name Weekly VOC and focus Event Lineage (v2.13.0)
seonghobae Aug 19, 2026
03a1167
feat: open Calendar commitments onto Event Lineage (v2.14.0)
seonghobae Aug 19, 2026
d25eeda
feat: open Customer master related posts onto Event Lineage (v2.15.0)
seonghobae Aug 19, 2026
0aaf992
feat: open Ask Agent cited posts onto Event Lineage (v2.16.0)
seonghobae Aug 19, 2026
3e5bfca
feat: keep GNB Event Lineage focus on a linked DAG node (v2.17.0)
seonghobae Aug 19, 2026
8966294
ci: repair analysis-run DAG cutoff context
seonghobae Aug 19, 2026
cad7327
feat: focus Keyman after GNB Event Lineage names it next (v2.19.0)
seonghobae Aug 19, 2026
8ed5015
feat: name Weekly VOC and focus Event Lineage (v2.13.0)
seonghobae Aug 19, 2026
3990fc9
feat: open Calendar commitments onto Event Lineage (v2.14.0)
seonghobae Aug 19, 2026
f9b86fc
docs: assign Calendar focus ADR a unique number
seonghobae Aug 20, 2026
609b61d
fix: stop auto-drilled Keyman panel from stealing Event Lineage focus
seonghobae Aug 20, 2026
a5831c0
feat: open Customer master related posts onto Event Lineage (v2.15.0)
seonghobae Aug 19, 2026
73887c9
fix: preserve Event Lineage focus after related loads
seonghobae Aug 20, 2026
cbdcc6f
feat: open Ask Agent cited posts onto Event Lineage (v2.16.0)
seonghobae Aug 19, 2026
1eeac6b
feat: keep GNB Event Lineage focus on a linked DAG node (v2.17.0)
seonghobae Aug 19, 2026
b5caf7c
fix(ui): preserve analysis-run cutoff across DAG navigation
seonghobae Aug 20, 2026
36ef783
feat: open Customer master related posts onto Event Lineage (v2.15.0)
seonghobae Aug 19, 2026
29c9732
test: keep customer master router specific
seonghobae Aug 20, 2026
1c37126
test(red): reproduce stale post detail navigation
seonghobae Aug 20, 2026
b39fd35
feat: open Ask Agent cited posts onto Event Lineage (v2.16.0)
seonghobae Aug 19, 2026
48461d0
merge: restack onto feat/ask-agent-open-focus-event-lineage-v2160
seonghobae Aug 20, 2026
bd08c68
merge: restack onto feat/event-lineage-node-keeps-gnb-focus-v2170
seonghobae Aug 20, 2026
c910478
feat: name Weekly VOC and focus Event Lineage (v2.13.0)
seonghobae Aug 19, 2026
85db4e1
fix: reject impossible Weekly VOC dates
seonghobae Aug 20, 2026
8daa419
feat: open Calendar commitments onto Event Lineage (v2.14.0)
seonghobae Aug 19, 2026
156a507
fix: stop auto-drilled Keyman panel from stealing Event Lineage focus
seonghobae Aug 20, 2026
5267614
fix: keep Calendar scroll with Event Lineage
seonghobae Aug 20, 2026
dc00316
feat: open Customer master related posts onto Event Lineage (v2.15.0)
seonghobae Aug 19, 2026
15c82c7
test: keep customer master router specific
seonghobae Aug 20, 2026
8fb0fea
feat: open Ask Agent cited posts onto Event Lineage (v2.16.0)
seonghobae Aug 19, 2026
7f36683
feat: keep GNB Event Lineage focus on a linked DAG node (v2.17.0)
seonghobae Aug 19, 2026
a731551
fix(ui): preserve analysis-run cutoff across DAG navigation
seonghobae Aug 20, 2026
4d6494d
fix: ignore stale post detail responses
seonghobae Aug 20, 2026
a7f3c12
merge: restack onto latest feat/event-lineage-node-keeps-gnb-focus-v2170
seonghobae Aug 20, 2026
d789c30
merge: restack onto latest feat/event-lineage-node-keeps-gnb-focus-v2170
seonghobae Aug 20, 2026
8bbc2ed
chore: restack Keyman focus on current Event Lineage head
seonghobae Aug 20, 2026
5e3e241
chore: reconcile remote Keyman restack with verified tree
seonghobae Aug 20, 2026
251efe1
chore: restack Keyman focus on current Event Lineage head
seonghobae Aug 20, 2026
4506f26
fix: align static SQL contract with safe composition
seonghobae Aug 20, 2026
b333958
chore: restack Keyman focus on current Event Lineage head
seonghobae Aug 20, 2026
7d881db
chore: restack Keyman focus on final Event Lineage
seonghobae Aug 20, 2026
4ff6fa2
chore: restack Keyman focus on final Event Lineage
seonghobae Aug 20, 2026
387427e
chore: restack Keyman focus on final Event Lineage
seonghobae Aug 20, 2026
afe8c2d
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 20, 2026
0229c4b
test: align embedded image accessibility expectation
seonghobae Aug 20, 2026
dc15a23
Merge commit '85013814fd65114c5a75d04297f04e342129b8d1' of https://gi…
seonghobae Aug 20, 2026
86c5f88
fix: avoid keyman ADR number collision
seonghobae Aug 20, 2026
95f19d0
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 20, 2026
eb4594d
docs: assign unique ADR number to Valkey events
seonghobae Aug 20, 2026
74c2234
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 20, 2026
e44f1a6
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 20, 2026
a005e7e
Merge current event-lineage base into GNB lineage
seonghobae Aug 20, 2026
60b44c4
merge: propagate current protected Event Lineage base
seonghobae Aug 20, 2026
75cdf43
merge: propagate current Event Lineage branch head
seonghobae Aug 20, 2026
26a6d9c
merge: propagate current semantic-source Event Lineage base
seonghobae Aug 20, 2026
4a76186
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 20, 2026
bbbe734
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 21, 2026
259b3b0
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 21, 2026
0beb110
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 21, 2026
8a6a1b6
Merge remote-tracking branch 'origin/feat/event-lineage-node-keeps-gn…
seonghobae Aug 21, 2026
c8b7445
fix: remove self-modifying repair artifacts
seonghobae Aug 21, 2026
d0ecc3d
feat: verify Global Ask semantic claims with public evidence (#276)
seonghobae Aug 21, 2026
d1b181f
fix: fail closed on malformed claim verification
seonghobae Aug 21, 2026
73621d1
chore: restack keyman focus on current parent
seonghobae Aug 21, 2026
1a8f926
chore: preserve exact keyman focus repair
seonghobae Aug 21, 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
10 changes: 6 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,12 @@ Opening a Calendar commitment uses the same focus path (ADR 0094). Do not
invent a week, a theta, a cutoff body, or a CalDAV event.
Opening a Customer master related post uses the same focus path (ADR 0095).
Do not invent a week, a theta, a cutoff body, a CalDAV event, or a customer.
Opening an Ask Agent cited post uses the same focus path (ADR 0096). Do not
invent a cited post.
A linked Event Lineage node opened from that focused popup keeps the
originating flags (ADR 0097). Do not invent a cited post.
Opening an Ask Agent cited post uses the same focus path (ADR 0096).
Do not invent a cited post.
A linked Event Lineage node opened from that focused popup keeps the
originating flags (ADR 0097). That open then focuses Keyman as the named
next read (ADR 0100). Do not invent a week, a theta, a cutoff body,
a CalDAV event, a customer, or a cited post.


## Tests
Expand Down
10 changes: 6 additions & 4 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,12 +281,14 @@ HTML. `src/api.ts` calls the FastAPI backend directly with the token
Keycloak issued; `src/App.tsx` renders a git-branch SVG of
`GET /api/lineage` (click a node to open that post; `post_admin` can
rebuild), the post list with a named Weekly VOC ISO-8601 week filter
(ADR 0092; opening that filtered post focuses Event Lineage, ADR 0093),
Calendar commitments use the same Event Lineage focus path (ADR 0094),
(ADR 0092; opening that filtered post focuses Event Lineage, ADR 0093).
Calendar commitments use the same Event Lineage focus path (ADR 0094).
Customer master related posts use the same Event Lineage focus path
(ADR 0095). Ask Agent cited posts use the same Event Lineage focus path
(ADR 0096). A linked Event Lineage node opened from a focused popup keeps
those flags (ADR 0097), and the full detail popup includes Korean
(ADR 0096). A linked Event Lineage node opened from a focused popup
keeps those flags (ADR 0097) and then focuses Keyman as the named next
read (ADR 0100).
The full detail popup includes Korean
summary/key-events/R&R, VOC evidence excerpts, an Event Lineage panel
(direct vs. indirect links; a link opens that post), the Keyman
affiliate tree (resolved ancestors plus unresolved org roots), Keyman +
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.d/2.19.0-gnb-event-lineage-focus-keyman.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 2.19.0 GNB Event Lineage focuses Keyman as the next read

Opening a GNB-focused post keeps Event Lineage current and moves focus
to Keyman so the named next action is landable. A home-list open does
not. No TEPP theta is invented.
16 changes: 14 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,18 @@ All notable changes to this project are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning follows
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.19.0] - 2026-08-20

### Added

- Opening a Board Weekly VOC post, Calendar commitment, Customer master
related post, or Ask Agent cited post now keeps Event Lineage current
and focuses Keyman as the named next read. A linked Event Lineage DAG
walk from that popup keeps the same Keyman focus. A home-list open
does not add that focus or copy. No TEPP theta is invented. No cited
post, customer, week, or cutoff body is invented (ADR 0100 / ADR 0097
/ ADR 0016).

## [2.17.0] - 2026-08-19

### Added
Expand All @@ -22,7 +34,7 @@ All notable changes to this project are documented here. Format follows
and evaluation as the next read. After an authorized answer, Ask Agent
names cited posts as current before that open. Home-list opens do not add
that focus or copy. No TEPP theta is invented. No cited post is invented
(ADR 0096 / ADR 0039 / ADR 0016).
(ADR 0096 / ADR 0039 / ADR 0016).

## [2.15.0] - 2026-08-19

Expand All @@ -32,7 +44,7 @@ All notable changes to this project are documented here. Format follows
Keyman and evaluation as the next read. Customer master names authorized
customer entities as current before that open. Home-list opens do not add
that focus or copy. No TEPP theta is invented. No customer is invented
(ADR 0095 / ADR 0037 / ADR 0016).
(ADR 0095 / ADR 0037 / ADR 0016).

## [2.14.0] - 2026-08-19

Expand Down
9 changes: 9 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,12 @@ cited post.
From a GNB-focused popup, open a linked Event Lineage node: Event Lineage
stays focused and names the new post as current (ADR 0097). A home-list
DAG walk does not. Do not invent a theta.

## GNB Event Lineage focuses Keyman (v2.19.0)

A GNB-origin popup (Weekly VOC, Calendar, Customer master, Ask Agent, or a
linked Event Lineage DAG walk from one of those) keeps Event Lineage
current and moves focus to the Keyman heading once Keyman rows have
settled (ADR 0100). The report-member auto-land chain to related nodes
and Ask is not used for GNB origins. A home-list open does not gain that
focus. Do not invent a theta.
44 changes: 44 additions & 0 deletions docs/adr/0100-gnb-event-lineage-focuses-keyman.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# ADR 0100: GNB Event Lineage focuses Keyman as the next read

- Status: Accepted
- Date: 2026-08-20

## Context

Opening a Board Weekly VOC post, Calendar commitment, Customer master
related post, or Ask Agent cited post already focuses Event Lineage and
names Keyman and evaluation as the next read (ADR 0093 / ADR 0094 /
ADR 0095 / ADR 0096 / ADR 0097). A linked Event Lineage DAG walk keeps
those originating flags. The named next action was not landable: focus
stayed on Event Lineage, and the report-member auto-land chain then
skipped ahead to Ask.

A Board home-list open must not gain that Keyman focus or copy.

## Decision

A GNB-origin popup (`fromWeeklyVoc`, `fromCalendar`,
`fromCustomerMaster`, `fromAskAgent`) keeps Event Lineage as the current
named node and moves keyboard focus to the Keyman heading after Keyman
rows have settled:

- Event Lineage still names the opened post as current and tells the
buyer to read Keyman and evaluation next.
- The Keyman heading (`#post-keyman`) takes focus so that next action is
landable.
- Evaluation remains immediately under that Keyman block.
- The report-member auto-land chain to related nodes and Ask is not
used for GNB origins. Report-member opens keep that later chain
(ADR 0016 member path).

A Board home-list open, including a home-list DAG walk, does not focus
Keyman and does not add the Event Lineage next-action copy.

No TEPP theta is invented. No cutoff body is invented (ADR 0016). No
cited post, customer, week, or CalDAV event is invented.

## Consequences

- GNB destinations share one Keyman-focus contract across the first open
and a linked DAG walk from that popup.
- Closing the popup still clears the originating flags.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ADR 0100: Preserve authorized internal evidence for relation verification
# ADR 0101: Preserve authorized internal evidence for relation verification

- Status: Accepted
- Date: 2026-08-18
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ADR 0101 — Enrichment timeout does not block source-grounded summary
# ADR 0104 — Enrichment timeout does not block source-grounded summary

**Decision status:** Accepted on active PR
**Date:** 2026-08-20
Expand Down Expand Up @@ -29,10 +29,10 @@ source summary is not discarded.
## Rationale

The existing ADR 0010/0026 boundary distinguishes a catalog miss or tie from
a verified identity. A transient orchestrator failure is neither a miss nor a
negative identity claim. Keeping it unbound preserves evidence while avoiding
the fail-closed screen behavior that prevents a buyer from reading the source
post.
a verified identity. A transient orchestrator failure is neither a miss nor
a negative identity claim. Keeping it unbound preserves evidence while
avoiding the fail-closed screen behavior that prevents a buyer from reading
the source post.

## Consequences

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ADR 0103: Register account operation events in Valkey
# ADR 0105: Register account operation events in Valkey

- Status: Accepted
- Date: 2026-08-20
Expand Down
6 changes: 3 additions & 3 deletions docs/product-technical-gap-baseline.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**Snapshot:** 2026-08-20 17:08 (Asia/Seoul)
**Protected-main baseline:** `origin/main`, product version `2.12.5`
**Audited PR head:** #258 at `bf599aca` (integrated timeout boundary, fixture fix, worker repair, and SQL review evidence)
**Active PR update:** ADR 0101 and the enrichment-timeout changes are pushed to
**Active PR update:** ADR 0104 and the enrichment-timeout changes are pushed to
PR #258; protected-main runtime evidence remains pending.
**Purpose:** connect the normative ADRs and research evidence to product
requirements, technical contracts, implementation evidence, and active PRs.
Expand Down Expand Up @@ -65,7 +65,7 @@ claims that an unmerged PR or historical runtime observation is live behavior.
| FR-09 | Period reports use real fast-mlsirm results; missing cells remain missing and leftover pairs are residual-derived and navigable. | ADR 0003, 0034-0035, 0048-0050 | Historical authenticated report rebuilds; report tests and schema |
| FR-10 | Standard provenance uses normalized PROV-O relations; qualified influence implies its unqualified relation and KG edges remain a navigation projection. | ADR 0011, 0065 | PROV-O implementation matrices, ontology, CI contract |
| FR-11 | Post summaries expose evidence-bearing events and R&R. Requester/processor actions are nullable and may only name actors already bound to the same post summary. | ADR 0052, ADR 0102 | Commit `15e1a378` is on PR #258 and the schema exists locally; the current database has zero populated action rows, so buyer-data acceptance remains unproven |
| FR-12 | A hierarchy-enrichment timeout leaves the source-grounded summary readable and the actor unbound; it never creates a guessed catalog identity. | ADR 0101, ADR 0010, ADR 0026 | Commit `1c260f20` contains the boundary, ADR, and focused test; independent review, protected-main merge, and fresh runtime evidence remain pending |
| FR-12 | A hierarchy-enrichment timeout leaves the source-grounded summary readable and the actor unbound; it never creates a guessed catalog identity. | ADR 0104, ADR 0010, ADR 0026 | Commit `1c260f20` contains the boundary, ADR, and focused test; independent review, protected-main merge, and fresh runtime evidence remain pending |

## TRD

Expand Down Expand Up @@ -218,7 +218,7 @@ the exact-head disposition.
| P1 | Requirements were implicit across ADRs and architecture phases | No prior PRD/TRD/requirement traceability baseline existed | Keep FR/NFR IDs in this document linked from ADR index; require new product PRs to name affected IDs and runtime evidence |
| P1 | Active PR topology obscures release truth | 8 blocked, 8 unstable, and 2 dirty; many bases are other open branches | Publish a dependency order, retire obsolete/duplicate branches, and avoid version claims until their base chain reaches main |
| P1 | ADR 0102 schema exists but current data does not exercise it | Commit `15e1a378` is on PR #258 and the table exists, but 95 summaries yield zero requester/processor action rows | Regenerate an authorized bounded sample, report aggregate accepted/dropped/absent counts, verify source evidence and actor FKs, then exercise the buyer popup without exposing record content |
| P1 | ADR 0101 is active-PR behavior but not protected-main behavior | Commit `1c260f20` contains the corrected ADR link, boundary, and focused tests; independent review and protected-main merge remain pending | Re-audit the exact head, obtain independent approval, pass required checks, merge normally, and collect fresh runtime evidence |
| P1 | ADR 0104 is active-PR behavior but not protected-main behavior | Commit `1c260f20` contains the corrected ADR link, boundary, and focused tests; independent review and protected-main merge remain pending | Re-audit the exact head, obtain independent approval, pass required checks, merge normally, and collect fresh runtime evidence |
| P1 | ADR status vocabulary is inconsistent and sometimes stale | Several ADRs say “Accepted on this active PR; not protected-main truth” even after branch evolution | Add a mechanical ADR status/link audit that distinguishes Proposed, Accepted-on-PR, Accepted-on-main, and Superseded |
| P2 | ADR numbering skips 0031 and 0093-0097 while file 0092 titles itself ADR 0031 | File identity and displayed identity differ | Correct the 0092 title or document an intentional alias; reserve or explain skipped numbers in the index |
| P2 | Product measures lack explicit targets | Research supports evidence boundaries but not universal model-quality thresholds | Define targets only from an approved evaluation protocol and authorized labeled aggregate dataset; do not invent accuracy goals |
Expand Down
2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "frontend",
"private": true,
"version": "2.17.0",
"version": "2.19.0",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
Loading
Loading