Skip to content

feat(sinexd): stamp all 16 automata with derivation declarations (sinex-0vx.3)#2504

Merged
Sinity merged 1 commit into
masterfrom
feature/feat/0vx3-stamp-automata-declarations
Jul 12, 2026
Merged

feat(sinexd): stamp all 16 automata with derivation declarations (sinex-0vx.3)#2504
Sinity merged 1 commit into
masterfrom
feature/feat/0vx3-stamp-automata-declarations

Conversation

@Sinity

@Sinity Sinity commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

Every one of the 24 DerivedOutput construction call sites across the 16 registered automata now claims its declaration via .with_declaration_id(...)/.with_product_class(...)/.with_claim_support(...), activating the sinex-0vx.2 adapter gate for real for the first time.

Problem

sinex-0vx.1 declared what each automaton emits; sinex-0vx.2 built the adapter gate that validates a claimed declaration; but no automaton actually claimed one yet, so the gate stayed permanently in its transition-period no-op state.

Solution

  • 24 call sites (interval-lift has 4 closure paths, document-parser has 4 parsed/chunked pairs across its two input kinds, health has 3 alert/component/system-status paths, the rest 1 each) chain the three builder calls sourced from that file's own *_OUTPUT_DECLARATIONS const (sinex-0vx.1) — declaration content is referenced, never duplicated, so a future semantics_version bump in the const flows through automatically.
  • claim_support evidence counts are derived from what's already in scope at each call site (parent count via source_event_ids.len() or the literal vec length, family count via distinct-source counts where tracked) — never fabricated. embedding-producer uses (0,0,0,0): its declaration doc already states this output is an effect-key receipt, not the real vector, until sinex-5v6 lands real model effects.
  • This makes validate_output_declaration()'s undeclared-id, product-class-mismatch, and source/type-mismatch rejection live enforcement for every real emission path, not just unit-tested machinery.

Verification

  • xtask check -p sinexd — pass.
  • xtask test -p sinexd -E 'test(automata)' — 159/161 pass, same 2 pre-existing sinex-4k4b baseline failures (untouched files) as before this change — confirms the now-live adapter gate does not reject any of the 16 automata's real emission paths.
  • Focused: 10/10 (automata_derivation_declarations_cover_registry, automata_declared_event_types_match_runtime_output, derived_output_declaration_gate, claim_support_adapter).
  • xtask check -p sinexd --lint inherits the same 3 pre-existing clippy::expect-used errors as sinex-0vx.1/0vx.2 (unrelated files); no new warnings anywhere this PR touches.

Ref sinex-0vx.3

Co-Authored-By: Claude noreply@anthropic.com

…ex-0vx.3)

Problem: sinex-0vx.1 declared what each automaton emits; sinex-0vx.2 built
the adapter gate that validates a claimed declaration; but no automaton
actually claimed one yet, so the gate stayed permanently in its
transition-period no-op state.

What changed: every DerivedOutput construction call site (24 across the
16 automata — interval-lift has 4 closure paths, document-parser has 4
parsed/chunked pairs across its two input kinds, health has 3
alert/component/system-status paths, the rest 1 each) now chains
.with_declaration_id(...).with_product_class(...).with_claim_support(...)
sourced from that file's own *_OUTPUT_DECLARATIONS const (0vx.1) —
declaration content is referenced, never duplicated, so a future
semantics_version bump in the const automatically flows through.

claim_support evidence counts are derived from what's already in scope
at each call site (parent count via source_event_ids.len() or the
literal vec length, family count via distinct-source counts where
tracked) — never fabricated. embedding-producer uses (0,0,0,0): its
declaration doc already states this output is an effect-key receipt,
not the real vector, until sinex-5v6 lands real model effects, so
claiming evidence would misrepresent what's actually known.

This activates the sinex-0vx.2 adapter gate for real for the first time:
every one of these 24 outputs must now round-trip through
validate_output_declaration() successfully (undeclared-id, product-class-
mismatch, and source/type-mismatch rejection all become live enforcement,
not just unit-tested machinery) before its Event is constructed.

Verification: xtask check -p sinexd pass. xtask test -p sinexd -E
'test(automata)' 159/161 pass — same 2 pre-existing sinex-4k4b baseline
failures (untouched files) as before this change, confirming the
now-live adapter gate does not reject any of the 16 automata's real
emission paths. 10/10 focused declaration/gate tests
(automata_derivation_declarations_cover_registry,
automata_declared_event_types_match_runtime_output,
derived_output_declaration_gate, claim_support_adapter) pass. xtask
check -p sinexd --lint inherits the same 3 pre-existing
clippy::expect-used errors in sinex-primitives as sinex-0vx.1/0vx.2
(unrelated files); no new warnings in any file this PR touches.

Ref sinex-0vx.3

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Sinity, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 27 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Free

Run ID: 2105f315-45e5-4d0c-bd46-cb92ab088e9b

📥 Commits

Reviewing files that changed from the base of the PR and between 23cfd9b and 5bdbf94.

📒 Files selected for processing (17)
  • .beads/issues.jsonl
  • crate/sinexd/src/automata/analytics.rs
  • crate/sinexd/src/automata/attention.rs
  • crate/sinexd/src/automata/canonicalizer.rs
  • crate/sinexd/src/automata/daily.rs
  • crate/sinexd/src/automata/document_parser.rs
  • crate/sinexd/src/automata/embedding_producer.rs
  • crate/sinexd/src/automata/entity_enricher.rs
  • crate/sinexd/src/automata/entity_extractor.rs
  • crate/sinexd/src/automata/entity_resolver.rs
  • crate/sinexd/src/automata/health.rs
  • crate/sinexd/src/automata/hourly.rs
  • crate/sinexd/src/automata/instruction_reconciler.rs
  • crate/sinexd/src/automata/interval_lift.rs
  • crate/sinexd/src/automata/relation_extractor.rs
  • crate/sinexd/src/automata/session.rs
  • crate/sinexd/src/automata/tag_applier.rs

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

@Sinity
Sinity merged commit 13a432e into master Jul 12, 2026
2 checks passed
@Sinity
Sinity deleted the feature/feat/0vx3-stamp-automata-declarations branch July 12, 2026 16:18
Sinity added a commit that referenced this pull request Jul 12, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Sinity added a commit that referenced this pull request Jul 12, 2026
Sinity added a commit that referenced this pull request Jul 13, 2026
…ex-0vx.3) (#2504)

Every DerivedOutput construction call site (24 across 16 automata) now claims its declaration via with_declaration_id/with_product_class/with_claim_support sourced from that file's own *_OUTPUT_DECLARATIONS const, activating the sinex-0vx.2 adapter gate for real emission paths for the first time.

Verification: xtask check -p sinexd pass; 159/161 automata tests (2 pre-existing sinex-4k4b failures, unrelated files); 10/10 focused declaration/gate tests.

Ref sinex-0vx.3
Sinity added a commit that referenced this pull request Jul 13, 2026
Sinity added a commit that referenced this pull request Jul 16, 2026
…ex-0vx.3) (#2504)

Every DerivedOutput construction call site (24 across 16 automata) now claims its declaration via with_declaration_id/with_product_class/with_claim_support sourced from that file's own *_OUTPUT_DECLARATIONS const, activating the sinex-0vx.2 adapter gate for real emission paths for the first time.

Verification: xtask check -p sinexd pass; 159/161 automata tests (2 pre-existing sinex-4k4b failures, unrelated files); 10/10 focused declaration/gate tests.

Ref sinex-0vx.3
Sinity added a commit that referenced this pull request Jul 16, 2026
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