Skip to content

docs: record ADRs for the Ask Agent temporal/lineage/evidence goal - #422

Merged
seonghobae merged 9 commits into
mainfrom
worktree-ask-agent-docs
Aug 24, 2026
Merged

docs: record ADRs for the Ask Agent temporal/lineage/evidence goal#422
seonghobae merged 9 commits into
mainfrom
worktree-ask-agent-docs

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Change

  • Adds ADRs 0150-0153 for Korean relative-time retrieval, scoped multi-lineage answers, persisted image evidence, and the focused evidence popup.
  • Records each implementation as active-PR evidence, not protected-main capability.
  • Stacks the synthetic/aggregate-only gap-baseline repair from PR docs: refresh product technical gap baseline #475 so no identifiable runtime record remains in repository documentation.
  • Retains the shared OIDC return-path repair inherited from the active stack.

Verification

  • uv run --extra dev pytest -q tests/test_documentation_hygiene.py (4 passed)
  • git diff --check
  • Hosted frontend and full-suite checks will be re-evaluated on this exact head.

No real records, identifiers, provider credentials, or protected-merge claims are included.

Four new ADRs, one per checkpoint of the Ask Agent temporal/lineage/
evidence goal:

- 0119: Korean relative-time expression resolution (#415)
- 0120: multi-thread Event Lineage graphs in Ask answers (#418)
- 0121: image citation without a new image-serving surface (#419)
- 0122: the evidence Layer Popup (#420)

Update CHANGELOG.md's Unreleased section and add an "Ask Agent Gaps"
section to docs/product-technical-gap-baseline.md marking all four
gaps (plus e2e coverage, #421) resolved, following that file's
existing "(Resolved)" convention.

Part of the Ask Agent temporal/lineage/evidence goal (checkpoint 6 of
6 -- documentation).
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 50 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6bbe2ca1-d406-41c0-a72e-82f3b38c62a2

📥 Commits

Reviewing files that changed from the base of the PR and between 91de109 and 9853f84.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • docs/adr/0150-korean-relative-time-retrieval.md
  • docs/adr/0151-ask-multi-lineage-graph.md
  • docs/adr/0152-ask-image-citation.md
  • docs/adr/0153-ask-evidence-layer-popup.md
  • docs/product-technical-gap-baseline.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae enabled auto-merge (squash) August 23, 2026 06:41
@github-actions
github-actions Bot disabled auto-merge August 23, 2026 07:01
devin-ai-integration[bot]

This comment was marked as resolved.

Cross-session coordination surfaced a widespread ADR-numbering
collision: at least ten numbers between 0119 and 0143 are
independently claimed by concurrent unmerged branches across other
sessions (0127/0128/0129/0131/0132 each claimed 2-4x, per
`git log --all --diff-filter=A -- docs/adr`). This PR's own
0119-0122 was a three-way collision (also claimed by the TEPP
topic-lineage PR and a quantity-superscript PR). Since this PR only
holds 4 ADRs against another's 14 (0119-0132), renumbering here is
the smaller diff. Moved clear of every number seen across all
branches (highest observed: 0143), leaving buffer room.

No content changes -- only the ADR number in each file's title,
their mutual cross-references, and every CHANGELOG.md /
gap-baseline.md citation of the old numbers.
devin-ai-integration[bot]

This comment was marked as resolved.

Two TypeScript build errors on main (blocking every open PR's
"Frontend lint, test, build" check, including this repo's own review
bot's ability to approve them):

- App.tsx imported rememberOidcReturnUrl/returnUrlFromLocation from
  oidcReturnUrl.ts but never called them -- the login button built its
  own unsanitized returnUrl inline instead of using the safe helper
  (oidcReturnUrl.ts's isSafeReturnUrl guard against an open-redirect-
  shaped value) or persisting it as the sessionStorage/localStorage
  fallback restoreOidcReturnUrl (already wired up on the callback side
  in main.tsx) reads when the OIDC state round-trip drops it.
- The unauthenticated login screen unconditionally rendered
  <AdminPanel accessToken={accessToken} /> when destination === "admin"
  -- accessToken is string | undefined here (always undefined while
  unauthenticated), a real type error, and the render was unreachable
  through normal navigation (destination only changes via the
  authenticated nav) -- dead code, removed.

uv run --frozen python -m pytest -q: 753 passed, 17 skipped.
pnpm run test: 140 passed. pnpm run lint / build: clean.
# Conflicts:
#	docs/product-technical-gap-baseline.md
@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head review requested for c54b172e439cf4f5f23267629b0848c2134bd1fa. The changelog now records accepted ADRs rather than claiming unmerged features; the gap baseline is synthetic/aggregate-only and labels PR #415/#418/#419/#420/#421 as active-PR evidence. Documentation hygiene: 4 passed; diff check passed. @opencode-agent please review this exact head independently.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread docs/product-technical-gap-baseline.md
@seonghobae
seonghobae merged commit 63876eb into main Aug 24, 2026
22 checks passed
seonghobae added a commit that referenced this pull request Aug 24, 2026
…-source-detail-state-filter

origin/main moved 58 commits ahead mid-session, including a properly
reviewed and tested implementation of the same evidence-layer-popup
feature this branch had manually rebuilt (#419). Re-merged to pick it
up rather than ship a parallel, untested version.

Resolved 7 conflicts:
- backend/app/post_chat_ingestion.py: combined this branch's
  ABAC/candidate-id filtering with main's Korean relative-time
  date-range filter on the same source_post query; combined both
  sides' import additions (tepp_client + temporal_expressions).
- backend/app/lineage_ingestion.py: combined this branch's
  isolation_reason (ADR 0143) with main's include_isolated parameter
  and new lineage_graphs_for_posts merge function -- both needed
  together, not alternatives.
- backend/app/main.py: added the lineage_graph computation (from
  main's dropped PR #418) into this branch's persist_turn-based
  ask_agent flow, using response["cited_post_ids"] so it works for
  both the sources-empty and populated-sources paths.
- frontend/src/App.tsx: kept this branch's working multi-turn
  (exchanges.map()) Ask Agent implementation wholesale over main's
  incompatible pre-refactor single-answer fragment; added the missing
  <LineageDag> rendering for response.lineage_graph per exchange, and
  kept the richer TenantConfig AdminPanel wiring already established.
- tests/test_lineage_ingestion.py, tests/test_global_ask_sources.py,
  CHANGELOG.md: reconstructed interleaved additive conflicts as
  complete, non-overlapping test functions / changelog entries from
  both sides.

Also fixed real bugs surfaced along the way:
- cited_post_images() (backend/app/post_chat_ingestion.py) queried
  the pre-rename image.caption column; migration 0104 renamed it to
  image_caption. Fixed the SQL and row mapping, matching how
  /api/posts/{id}/content already does it.
- Two tenant-settings tests asserted the old single-brandName
  response shape instead of the current {brandName, systemName,
  copyrightYear, copyrightHolder} contract.
- A stale test fixture in tests/test_post_chat_ingestion.py still
  keyed its fake DB rows by the pre-rename "caption" column.
- Fixed a duplicate ADR 0119 number (retire-buyer-terminology ->
  0168; leftover-map-two-dimensional-distance already owned 0119).
- A LineageDag.test.tsx role="group" vs a newly-merged App.test.tsx
  role="img" mismatch: kept role="group" (this branch's existing,
  better-tested LineageDag.tsx choice, verified by 4 passing
  assertions) and updated the one new test instead.

Verified: tests/ (1037 passed, 11 skipped), backend/tests/ (156
passed, 5 skipped -- orchestrator-gated), frontend (469 passed),
tsc -b clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NpWw9SnPBaemFZmW3fdTVM
seonghobae added a commit that referenced this pull request Aug 24, 2026
- Snapshot: protected main 63876eb (#422), 37 open PRs, 19 open issues.
- Record the org-wide Strix provider failure (NIM ~70s / OpenAI-direct ~5s
  exits) and its durable repair ContextualWisdomLab/.github#1263, including
  the ten base-merged paths the prior merge commit had reverted and how they
  were restored.
- Record the ADR 0109 shared login repair applied to eight pre-repair
  branches (#521, #522, #552-556 set, #558, #560), verified locally with
  frontend lint/test/build before each push.
- Replace stale §3 inventory with the current 37-head queue grouped by
  product surface, SKOS/leftover-map ladder, repairs, integration, and docs.
- Refresh §5 rows whose referenced PRs have since landed (#496/#507/#515,
  #544/#559 channel-weight hardening) and rewrite §10 as the autonomous
  ascending-order merge loop.
- Note #368 closed as superseded.

Co-authored-by: seonghobae <seonghobae@users.noreply.github.com>
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.

1 participant