Skip to content

feat: preserve overlapping voice semantic classifications - #694

Merged
seonghobae merged 35 commits into
fix/ask-auto-source-composerfrom
feat/voc-semantic-taxonomy
Aug 26, 2026
Merged

feat: preserve overlapping voice semantic classifications#694
seonghobae merged 35 commits into
fix/ask-auto-source-composerfrom
feat/voc-semantic-taxonomy

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Outcome

  • keeps five post voice concepts separate from six post-scoped organization relationship concepts
  • preserves source and derived assertions, multi-membership, disagreement, validity, digest, span, and model receipt evidence
  • adds authorized period/org/PU/team/person/product/project aggregate filters with overlap-aware denominators
  • adds Dashboard summary, SHACL constraints, Storybook evidence, and actionable review copy

Evidence

  • backend/API/ontology focused: 36 passed
  • frontend Dashboard focused: 12 passed
  • frontend lint: pass
  • Storybook production build: pass
  • rendered 1280x720 overlapping-evidence story inspected

Stacked on #692. No canonical runtime mutation; no private row data in artifacts.


Open in Devin Review

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ad204d6-f5ff-429e-bb0b-48bf2da4e123

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head repairs are now at 88afe2c6:

  • aligned the aggregate denominator with shared persisted-source eligibility and the application ABAC contract; the live PostgreSQL regression counts every visible public/private row
  • restored the existing authenticated frontend transport and removed the raw internal aggregate from the API response
  • replaced implementation-boundary labels with localized, action-oriented evidence copy

Verification: focused backend unit + live integration passed; 65 focused frontend/i18n tests passed; lint, TypeScript/Vite production build, and Storybook production build passed. The 1280×720 OverlappingEvidence story was rendered and visually inspected for legibility, overlap disclosure, and the next review action.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae changed the base branch from feat/product-semantic-catalog to fix/ask-auto-source-composer August 26, 2026 07:44
Codex and others added 3 commits August 26, 2026 16:44
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@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 backend/app/voice_taxonomy.py
@seonghobae
seonghobae merged commit 0feb7f7 into fix/ask-auto-source-composer Aug 26, 2026
3 of 4 checks passed
seonghobae added a commit that referenced this pull request Aug 26, 2026
* fix(ask): find related source evidence automatically

* fix(ask): preserve source publication boundary

* fix(ask): keep project evidence out of event lineage

* test(ask): lock graph and project boundaries

* fix(ask): preserve project evidence in dense windows

* fix(orchestrator): register remote embedding agent

* build(orchestrator): pin provider embedding runtime

* docs(orchestrator): separate embedding bootstrap boundary

* fix(ui): keep missing-evidence guidance accurate

* fix(ui): explain automatic evidence retry

* fix(operations): reanalyze missing facts on new evidence

* fix(runtime): restore semantic backfill contracts

* fix(ask): keep project evidence first

* fix(worker): persist operational cases before optional content enrichment

* fix(worker): preserve completed evidence on sibling retry outage

* fix(operations): use orchestrator auto model selector

* fix(compose): install orchestrator runtime dependency

* perf: bulk semantic embedding backfill

* fix(operations): address orchestrator auto deployment

* perf: prepare semantic backfill batch concurrently

* fix: isolate operations analysis from embedding batch

* Revert "fix: isolate operations analysis from embedding batch"

This reverts commit a7cda9b.

* Revert "perf: prepare semantic backfill batch concurrently"

This reverts commit 1d16c40.

* Revert "perf: bulk semantic embedding backfill"

This reverts commit 891e0f9.

* fix(runtime): pin bounded provider failover

* fix(operations): invalidate stale evidence windows

* feat(embedding): add atomic cross-post bulk backfill

* build(backend): include embedding backfill operator

* perf(embedding): pack batches to advertised body limit

* build(runtime): pin advertised embedding limits

* fix(runtime): separate API and durable queue workers

* fix(runtime): restart dedicated worker after process failure

* build(runtime): pin request-deadline failover

* fix(operations): send exact request deadline

* fix(embeddings): honor orchestrator polling cadence

* fix(embeddings): wait within durable batch contract

* build(embeddings): pin true provider bulk runtime

* feat(ontology): add evidence-bound product catalog

* perf(worker): reuse authorized evidence window

* fix(products): enforce evidence-post visibility

* fix(embeddings): surface sanitized provider failures

* build(orchestrator): pin OpenAI embedding limits

* build(orchestrator): install exact embedding tokenizer

* fix(embeddings): surface oversized backfill units

* build(orchestrator): pin Rust embedding packer

* fix(products): preserve primary evidence on extraction failure

* build(orchestrator): pin durable embedding shards

* build(orchestrator): pin PyO3 embedding packer

* test(workers): run Ask settlement through dedicated consumer

* fix(orchestrator): bind configured OpenAI embedding authority

* fix(runtime): pin hardened durable embedding gateway

* fix(runtime): colocate PyO3 extension with source package

* fix(orchestrator): keep embedding selection upstream

* fix(security): audit product evidence SQL fragment

* fix(backfill): bound durable jobs by provider input contract

* fix(backfill): consume advertised input ceiling

* fix(orchestrator): propagate post session in payload

* fix(runtime): restore configured embedding capability

* chore(runtime): pin post-session embedding gateway

* fix: bind product evidence to source text

* fix(orchestrator): preserve upstream embedding discovery

* test(security): account for product evidence SQL audit

* chore(runtime): pin per-input session gateway

* fix(orchestrator): restore explicit embedding capability

* fix(orchestrator): keep model selection upstream

* fix: keep product evidence focal

* fix(orchestrator): pin embedding auto-discovery

* refactor(math): delete unused Python vector arithmetic

* fix(embeddings): bound candidate packing scan

* docs(adr): correct accelerator ownership boundary

* chore(runtime): pin hardened embedding gateway

* style(test): separate embedding transport cases

* fix(orchestrator): restore explicit embedding capability

* fix(orchestrator): restore explicit embedding capability

* docs(gap): record embedding persistence bottleneck

* fix(worker): report durable consumer progress

* chore(runtime): pin reviewed embedding failover

* fix(queue): requeue missing operations evidence

* test(compose): bind gateway auth contract

* fix(queue): wake complete posts missing case analysis

* fix(orchestrator): preserve upstream model ownership

* chore(runtime): pin structured judge failover

* chore(runtime): pin rebased embedding gateway

* fix(backfill): align current analysis selection

* chore(runtime): pin claimed embedding recovery

* fix(runtime): defer unadmitted analysis jobs

* chore: advance orchestrator embedding owner pin

* fix(database): repair interrupted concurrent indexes

* fix(database): stop rebuilding superseded search indexes

* chore: advance orchestrator embedding owner pin

* fix(products): backfill complete historical posts

* fix(embeddings): forbid caller-selected models

* chore: pin request-scoped readiness runtime

* feat: preserve overlapping voice semantic classifications (#694)

* feat(ontology): preserve overlapping voice classifications

* fix(ontology): align voice summary authorization

* fix(ui): keep voice evidence copy customer-facing

* fix(dashboard): align voice period semantics

* fix(dashboard): remove unused voice response copy

* fix: enforce voice evidence boundaries

* fix(voice): preserve active agreement evidence

* fix(ontology): validate voice assertion evidence

* fix(voice): keep source labels available

* fix(voice): reconcile source assertions at ingestion

* test: isolate future voice validity

* docs: audit Rust ownership across dashboard stack

* docs: refresh Rust boundary delivery evidence

* fix: keep voice evidence independent and unique

* fix: name voice evidence metrics precisely

* docs: complete Python compute debt inventory

* fix: preserve sourced voice memberships on reconcile

* fix: keep voice migration order unique

* fix(ui): unify dashboard loading announcement

* fix(voice): exclude demo rows from real summaries

---------

Co-authored-by: Codex <codex@localhost>

* fix(runtime): prioritize dashboard case evidence

* fix(package): sync packaged ontology vocabulary

* chore: pin reviewed readiness runtime

* fix(config): remove embedding model selector

---------

Co-authored-by: Codex <codex@localhost>
seonghobae added a commit that referenced this pull request Aug 26, 2026
* fix(ask): find related source evidence automatically

* fix(ask): preserve source publication boundary

* fix(ask): keep project evidence out of event lineage

* test(ask): lock graph and project boundaries

* fix(ask): preserve project evidence in dense windows

* fix(orchestrator): register remote embedding agent

* build(orchestrator): pin provider embedding runtime

* docs(orchestrator): separate embedding bootstrap boundary

* fix(ui): keep missing-evidence guidance accurate

* fix(ui): explain automatic evidence retry

* fix(operations): reanalyze missing facts on new evidence

* fix(runtime): restore semantic backfill contracts

* fix(ask): keep project evidence first

* fix(worker): persist operational cases before optional content enrichment

* fix(worker): preserve completed evidence on sibling retry outage

* fix(operations): use orchestrator auto model selector

* fix(compose): install orchestrator runtime dependency

* perf: bulk semantic embedding backfill

* fix(operations): address orchestrator auto deployment

* perf: prepare semantic backfill batch concurrently

* fix: isolate operations analysis from embedding batch

* Revert "fix: isolate operations analysis from embedding batch"

This reverts commit a7cda9b.

* Revert "perf: prepare semantic backfill batch concurrently"

This reverts commit 1d16c40.

* Revert "perf: bulk semantic embedding backfill"

This reverts commit 891e0f9.

* fix(runtime): pin bounded provider failover

* fix(operations): invalidate stale evidence windows

* feat(embedding): add atomic cross-post bulk backfill

* build(backend): include embedding backfill operator

* perf(embedding): pack batches to advertised body limit

* build(runtime): pin advertised embedding limits

* fix(runtime): separate API and durable queue workers

* fix(runtime): restart dedicated worker after process failure

* build(runtime): pin request-deadline failover

* fix(operations): send exact request deadline

* fix(embeddings): honor orchestrator polling cadence

* fix(embeddings): wait within durable batch contract

* build(embeddings): pin true provider bulk runtime

* feat(ontology): add evidence-bound product catalog

* perf(worker): reuse authorized evidence window

* fix(products): enforce evidence-post visibility

* fix(embeddings): surface sanitized provider failures

* build(orchestrator): pin OpenAI embedding limits

* build(orchestrator): install exact embedding tokenizer

* fix(embeddings): surface oversized backfill units

* build(orchestrator): pin Rust embedding packer

* fix(products): preserve primary evidence on extraction failure

* build(orchestrator): pin durable embedding shards

* build(orchestrator): pin PyO3 embedding packer

* test(workers): run Ask settlement through dedicated consumer

* fix(orchestrator): bind configured OpenAI embedding authority

* fix(runtime): pin hardened durable embedding gateway

* fix(runtime): colocate PyO3 extension with source package

* fix(orchestrator): keep embedding selection upstream

* fix(security): audit product evidence SQL fragment

* fix(backfill): bound durable jobs by provider input contract

* fix(backfill): consume advertised input ceiling

* fix(orchestrator): propagate post session in payload

* fix(runtime): restore configured embedding capability

* chore(runtime): pin post-session embedding gateway

* fix: bind product evidence to source text

* fix(orchestrator): preserve upstream embedding discovery

* test(security): account for product evidence SQL audit

* chore(runtime): pin per-input session gateway

* fix(orchestrator): restore explicit embedding capability

* fix(orchestrator): keep model selection upstream

* fix: keep product evidence focal

* fix(orchestrator): pin embedding auto-discovery

* refactor(math): delete unused Python vector arithmetic

* fix(embeddings): bound candidate packing scan

* docs(adr): correct accelerator ownership boundary

* chore(runtime): pin hardened embedding gateway

* style(test): separate embedding transport cases

* fix(orchestrator): restore explicit embedding capability

* fix(orchestrator): restore explicit embedding capability

* docs(gap): record embedding persistence bottleneck

* fix(worker): report durable consumer progress

* chore(runtime): pin reviewed embedding failover

* fix(queue): requeue missing operations evidence

* test(compose): bind gateway auth contract

* fix(queue): wake complete posts missing case analysis

* fix(orchestrator): preserve upstream model ownership

* chore(runtime): pin structured judge failover

* chore(runtime): pin rebased embedding gateway

* fix(backfill): align current analysis selection

* chore(runtime): pin claimed embedding recovery

* fix(runtime): defer unadmitted analysis jobs

* chore: advance orchestrator embedding owner pin

* fix(database): repair interrupted concurrent indexes

* fix(database): stop rebuilding superseded search indexes

* chore: advance orchestrator embedding owner pin

* fix(products): backfill complete historical posts

* fix(embeddings): forbid caller-selected models

* chore: pin request-scoped readiness runtime

* feat: preserve overlapping voice semantic classifications (#694)

* feat(ontology): preserve overlapping voice classifications

* fix(ontology): align voice summary authorization

* fix(ui): keep voice evidence copy customer-facing

* fix(dashboard): align voice period semantics

* fix(dashboard): remove unused voice response copy

* fix: enforce voice evidence boundaries

* fix(voice): preserve active agreement evidence

* fix(ontology): validate voice assertion evidence

* fix(voice): keep source labels available

* fix(voice): reconcile source assertions at ingestion

* test: isolate future voice validity

* docs: audit Rust ownership across dashboard stack

* docs: refresh Rust boundary delivery evidence

* fix: keep voice evidence independent and unique

* fix: name voice evidence metrics precisely

* docs: complete Python compute debt inventory

* fix: preserve sourced voice memberships on reconcile

* fix: keep voice migration order unique

* fix(ui): unify dashboard loading announcement

* fix(voice): exclude demo rows from real summaries

---------

Co-authored-by: Codex <codex@localhost>

* fix(runtime): prioritize dashboard case evidence

* fix(package): sync packaged ontology vocabulary

* chore: pin reviewed readiness runtime

* fix(config): remove embedding model selector

* chore: pin direct-conduct readiness runtime

* chore: pin structured admission runtime

* chore: pin durable readiness runtime

* chore: pin readiness evidence expiry runtime

* chore: pin durable readiness runtime

* fix: persist bounded ingestion failure provenance

* fix: assign unique failure migration ordinal

* test: reject malformed failure provenance

* fix: isolate immutable orchestrator image tags

* fix: retain bounded ingestion exception class

* fix: constrain ingestion failure taxonomy

---------

Co-authored-by: Codex <codex@localhost>
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