Repository navigation
feat: expose source context and project-safe summary hints - #392
seonghobae wants to merge 827 commits into
Conversation
…lineage' into codex/fix-oidc-adr-title
…fix/pr307-restack
…odex/fix-project-action-parser
…s' into fix/pr311-current # Conflicts: # frontend/src/PostBody.tsx
…ty' into codex/review-pr311
…-311' into codex/post-structure-case-fixes
… into codex/normalize-source-indent-semantics
…mantics' into feat/lineage-dag-regression
…mantics' into feat/lineage-dag-regression
…lineage' into codex/fix-oidc-adr-title
…lineage' into codex/fix-oidc-adr-title
…fix/pr307-restack
…odex/fix-project-action-parser
|
Re: |
read_post_summary already fetched the post-content ingestion job but discarded its status_code, always raising the same "still being processed" 503 detail regardless of whether the job was genuinely queued/running or had terminally FAILED -- telling the reader to keep waiting for evidence that will never arrive. post_content_summary_status_message(status_code) already existed in post_content_queue.py for exactly this distinction (added for read_post_content's identical pattern); read_post_summary just never called it. Pass job.status_code through instead of the hardcoded string.
|
Fixed: |
|
Acknowledged — cosmetic title-formatting inconsistency between list and detail views (raw truncation vs whitespace-collapsed + fallback), not introduced by this PR's changes. Worth a small follow-up to share one title-formatting helper between the two, but out of this PR's scope. Tracking, not blocking. |
Two unrelated findings from review, both real: 1. migrations/0001_initial_schema.sql had been edited to add cataloged_affiliated_corporate_entity_id plus a constraint extension -- but migrations/0107_role_affiliation_catalog_identity.sql already adds the same column and an equivalent constraint idempotently. Verified via docker/postgres-init/Dockerfile (0001 is baked into the image for fresh installs only) and migrate.sh's replay allowlist (0107 replays on every startup, 0001 does not): the edit gave fresh installs two overlapping constraints while existing volumes got only 0107's, a real schema drift between fresh and upgraded databases. Reverted 0001 to its pre-edit state per ADR 0120's migration-immutability principle; 0107 alone now produces the identical schema on both paths. Two test fixtures that hand-list migration files for a throwaway test database (masked by 0001's improper edit until now) needed 0107 added to their setup. 2. synthetic_seed_cleanup.py's "real evidence" predicate included source_draft_code/source_deleted_flag, disagreeing with demo_scope.has_real_source_context's deliberate omission of both. Per ADR 0040/0058, a draft/deleted marker is a publication lifecycle signal, not identity/content evidence that a post is a real imported record. Rewired cleanup to reuse the shared source_context_missing_sql/source_context_present_sql predicate from backend/app/post_eligibility.py (already the source of truth demo_scope.py uses) instead of hand-maintaining a duplicate 20-field list that had drifted. Updated the one test whose assertion depended on the old (incorrect) behavior, and added a regression test proving the two predicates now agree.
|
Fixed and independently verified — confirmed via docker/postgres-init/Dockerfile (0001 is baked into the image, fresh-install only) and migrate.sh's replay allowlist (0107 replays on every startup, 0001 does not) that this was real schema drift: fresh installs would end up with two overlapping constraints, existing volumes with only one. Reverted 0001 to its pre-edit state per ADR 0120's immutability principle; 0107 alone produces the identical schema on both paths. Two test fixtures that hand-list migration files needed 0107 added (masked by 0001's improper edit until now). Pushed in efe00f8. |
|
Fixed — confirmed via ADR 0040/0058 that a draft/deleted marker is a publication lifecycle signal, not identity/content evidence, and |
…ntextualWisdomLab#459) Adds a closed reason vocabulary (tied candidates / no live enrichment client / checked-but-not-corroborated / no catalog entry) persisted on post_summary_role and surfaced in the R&R panel, replacing the single flat "Not linked to catalog" label the product-technical-gap-baseline audit flagged as undiagnosable. Covers both the primary actor's own catalog link and the separate affiliated-organization link, since the shipped label actually renders next to the latter. Also: - ADR 0142 proposes (decision only, no inference code) reusing the existing post_summary_semantic_relationship channel with a new lw_plans_to_operate predicate for planned-facility evidence, per the gap doc's explicit instruction not to write that inference without a reviewed ADR first. - frontend/index.html now shows a visible, styled <noscript> message instead of a silent blank page. - Updates docs/product-technical-gap-baseline.md for both items. Backend: pytest -q tests/ backend/tests/ -- 875 passed, 17 skipped. Frontend: pnpm run lint && pnpm run test && pnpm run build -- 220 passed, lint clean, build succeeds; pnpm run build-storybook succeeds. Claude-Session: https://claude.ai/code/session_011EP69xAyLaJxa6oaF6D9eq Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…ilter' into repair/pr392-promote # Conflicts: # tests/test_person_mention_projection.py
:responsibleFor was declared with rdfs:range :SemanticAssertion, so a reasoner applying standard entailment would type a responsible-for project (e.g. Highland HVDC) as an evidence/assertion node. Align it with its sibling :supports: prov:Agent domain, prov:Entity range. Document lw_responsible_for alongside lw_supports in ADR 0131, and add a test asserting both predicates' domain/range. Also add the zh, ja, and vi translations for the six i18n keys this PR introduced (Responsible for, and the source customer code search strings), which had only been added to the ko block, leaving those locales showing raw English for a brand-new feature.
|
@opencode-agent Review exact current head |
|
Exact review head is |
|
Correction: the authoritative current head returned by GitHub is |
|
Superseded by #490 (same |
Summary
lw_responsible_for) from support (lw_supports)Verification
uv run pytest -q tests/test_post_summary.py: 44 passed, 1 skippedpnpm test -- App.test.tsx: 104 passedpnpm run lintgit diff --checkExact current head:
a046da4e. Temporary exploratory scripts and untracked agent directories were intentionally not included.