feat: deliver workspace evidence board and source-grounded ontology surface - #258
feat: deliver workspace evidence board and source-grounded ontology surface#258seonghobae wants to merge 1013 commits into
Conversation
|
Important Review skippedToo many files! This PR contains 363 files, which is 263 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (363)
You can disable this status message by setting the 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. Comment |
|
Queue 2026-08-19T03:01 KST. Exact head |
|
Queue 2026-08-19T03:12 KST. Writes work this cycle (push + PR). Buyer increment Weekly VOC is stacked here as This PR (#258) still needs independent current-head APPROVE on |
There was a problem hiding this comment.
Semgrep OSS found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
|
Cycle 2026-08-19T13:02 KST: retrying independent review request and write path. Exact-head APPROVE still required; no self-approve. |
|
Buyer increment stacked as #260 ( |
|
Cycle 2026-08-19T16:31 KST. Writes still work (push + PR #263). Buyer GNB Event Lineage focus is now stacked through Ask Agent (v2.16.0 / ADR 0074) on #262. This PR remains DIRTY against main |
|
Cycle 2026-08-20T07:03 KST: GitHub writes recovered (MCP REST/comment/push dry-run succeed). Exact head |
|
@opencode-agent Current protected main has advanced to 690f352 and now contains merged #74. PR #258 is currently non-mergeable on stale base 8c020aa. Repair this existing PR branch only: refetch live main, identify #74 commits/content already upstream, then rebase or otherwise reconstruct #258 so the PR contains only #258's Buyer evidence board / source-grounded ontology / Global Ask / runtime hardening delta not already present on main. Do not duplicate or revert merged #74 behavior, migrations, ADRs, or version history. Preserve every resolved review fix on the current #258 head, especially embedding-client Protocol/static-analysis cleanup. Resolve conflicts semantically, not by choosing ours/theirs wholesale. Re-run exact-current-head Python/frontend/Storybook/security/coverage/PROV-O checks applicable to the resulting diff. Do not touch #260-#265, do not merge, and do not force-push unless required by a true rebase/reconstruction; if history rewrite is necessary, verify the resulting tree against both old #258 head and live main before pushing. |
…event-lineage-v2150' into HEAD
…ineage-v2140' into HEAD # Conflicts: # AGENTS.md # ARCHITECTURE.md # CHANGELOG.md # CLAUDE.md # docs/adr/0094-internal-relation-evidence.md # docs/adr/0095-internal-relation-evidence.md # docs/adr/0101-internal-relation-evidence.md # frontend/package.json # frontend/src/App.tsx # frontend/src/i18n.test.ts # frontend/src/i18n.ts # pyproject.toml # uv.lock
…-lineage-v2130' into HEAD # Conflicts: # ARCHITECTURE.md # CHANGELOG.d/external-lineage-contract.md # CHANGELOG.md # docs/doctoring/EXTERNAL_LINEAGE_CONTRACT_TRACEABILITY.md # frontend/src/App.test.tsx # frontend/src/App.tsx # lineageweave/__init__.py # lineageweave/chunking.py # tests/test_chunking.py # tests/test_external_lineage_analysis.py # tests/test_external_lineage_contract.py # tests/test_reconstruct.py # tests/test_relation_verification.py
* feat: show project history lineage counts * docs: record project history delivery evidence * fix: label bounded project history counts
* test(red): require exact-origin MCP browser preflight * test(red): bound MCP request bytes before parsing * fix(mcp): bound request bytes before SDK parsing * feat(mcp): configure a bounded request admission limit * fix(mcp): admit exact-origin bounded browser requests * fix(mcp): compare raw admission headers safely * test(mcp): validate request-byte configuration * test(mcp): cover every request admission branch * test(mcp): require origin-aware browser responses * fix(mcp): vary transport rejections by Origin * docs: record MCP browser admission architecture * docs: expose MCP browser admission settings * ops: pass the MCP request-byte limit to the resource server * docs: specify exact MCP browser and byte admission * docs: trace MCP browser admission to transport standards * docs: record MCP browser admission hardening * test(mcp): bind deployment and documentation admission contracts * test(mcp): expose OAuth metadata to browser clients * fix(mcp): expose the OAuth challenge to browser clients * test(mcp): reject unsafe configured browser origins * fix(mcp): validate exact browser origin configuration * docs: record browser-readable OAuth discovery * docs: include browser OAuth discovery in admission ADR * docs: expose browser OAuth discovery and exact origin startup rules * test(mcp): bind browser OAuth discovery documentation --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* docs(adr): define TEPP topic history boundary * feat(analysis-run): add topic-lineage kind mirroring TEPP's fail-closed path Implements the runtime scaffolding for ADR 0132: a new analysis_run_topic_lineage kind (migration 0131) and result envelope table (migration 0132) that request TEPP's TRSL-TM topic identity and CHRONOS/TDT event-intelligence status through the same tepp_client boundary as the existing TEPP measurement kind (ADR 0022), reusing TEPP's generic AnalysisRunRequest wire shape with a different model_contract_version/output_profile instead of inventing a new type. - backend/app/analysis_run_start.py: topic_lineage_run_request, _deliver_topic_lineage_measurement, _persist_topic_lineage_result, start_kind_rejection and the outbox dispatch branch now handle the new kind, failing closed (tepp_not_available / tepp_result_not_persisted) exactly like TEPP. - backend/app/analysis_run_ingestion.py: POST /api/analysis-runs still 422s this kind (Create cannot invent a Pending topic-lineage row, same as TEPP). - scripts/seed_demo_data.py: make seed now also writes a Demo Corp topic-lineage run; verified end-to-end against the live dev Postgres (Pending -> Running -> Failed/tepp_not_available). - frontend/src/api.ts, App.tsx: AnalysisRunKindCode gains the new variant; every exhaustive switch (TypeScript `never` checks) and the start/retry UI copy is updated per kind. - Tests: mirrors the existing TEPP coverage in test_analysis_run_start.py, test_analysis_run_create.py, and test_migration_replay.py. Full backend suite: 852 passed, 17 skipped. Frontend: 200 passed, lint clean, build clean. Migrations verified idempotent on re-apply against the local Compose Postgres. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mk2aU7vk6Pn4pTnzcKT3Ws * feat(project-history): consume TEPP topic lineage --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Scope
This root stack reconciliation preserves the accumulated customer-facing evidence, ontology, semantic-source, contextual-orchestrator, durable-ingestion, and customer-evidence capability while following protected
mainthrough normal merge history. No product capability is removed to reduce the diff.Product and security boundary
Exact current candidate
main@ef6f5a5ffcb467bd935dc1e53acc0029669b0bd7.f4ebfc684cdd6017255712cc4be37528cbb7d21a.APPROVEDverdict on this exact head.Verification and merge gate
Merge only after:
f4ebfc684cdd6017255712cc4be37528cbb7d21a;Do not self-approve. After this root lands, dependent branches continue by ordinary restack and retain their full customer-visible scope.