@happyvertical/smrt-ingestion 0.55.7 → 0.55.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -39,5 +39,7 @@ See [REVIEW.md](REVIEW.md) for authenticated hosts, bounded saved-review reloads
39
39
  assignment ownership, logical split re-extraction and the maintained browser proof.
40
40
  UI validation additionally requires `pnpm test:components` and `pnpm test:e2e`;
41
41
  `typecheck` includes Svelte and `build` includes the types-first `/svelte` entry.
42
- The evaluation command remains reserved for #3677 and fails explicitly.
42
+ `pnpm test:evaluation` runs repository evaluation tooling/format/fault contracts.
43
+ Measured held-out quality is a separate frozen-protocol, budget-gated run; tooling
44
+ success does not establish reference quality or permit automatic actions.
43
45
  See ../../docs/test-matrix/3670-ingestion-foundation.md for behavior coverage.
package/FEEDBACK.md CHANGED
@@ -83,12 +83,49 @@ correctness/decision/outcome signals and strict confidential-scope eligibility.
83
83
 
84
84
  ## Routing suggestions and adoption
85
85
 
86
- `suggestRoutingRule` requires repeated current explicit positive judgments with
86
+ `suggestRoutingRule` requires repeated current explicit positive judgments
87
87
  from distinct source items with matching handler/version and arguments, and returns supporting immutable IDs,
88
88
  shared query terms and the policy owner's preview/version. Suggestions cannot
89
89
  execute or modify policy. `getRoutingRule` rechecks the displayed binding and all
90
90
  supporting examples. Arguments are routing preferences, never executable grants.
91
91
 
92
+ By default matching compares **all** action arguments, preserving existing host
93
+ behavior. Create handlers commonly have per-document content and idempotency
94
+ keys, which must remain distinct. Such hosts can explicitly declare a routing-only
95
+ subset in trusted server configuration before capturing judgments:
96
+
97
+ ```ts
98
+ feedback: {
99
+ // ...existing limits, authorize and policy owner
100
+ routing: [{
101
+ handlerId: 'host:create-document',
102
+ handlerVersion: '1',
103
+ version: 'routing-fields-1',
104
+ fields: ['destinationId', 'category'],
105
+ }],
106
+ }
107
+ ```
108
+
109
+ Each declaration must name a configured handler/version and a nonempty, unique
110
+ allowlist of its top-level `argsSchema.properties`; duplicate declarations,
111
+ unknown properties and prototype keys reject. There are no dotted paths,
112
+ caller-supplied selectors or implicit exclusions (including request IDs).
113
+ Optional absent fields stay absent and differ from explicit `null`; at least one
114
+ selected value must be present. The host must select preferences only, never
115
+ grants, provider permissions or automation controls.
116
+
117
+ Capture retains the full immutable action arguments and binding plus the
118
+ versioned subset. For opted-in handlers `RoutingRule.args` contains only selected
119
+ values and `RoutingRule.projection` carries the canonical sorted fields and
120
+ version. Independent support must match that entire contract and those values;
121
+ full original source arguments, provenance and current access are still checked.
122
+ Existing unprojected feedback is not retroactively reinterpreted: record fresh
123
+ explicit judgments after enabling or changing a declaration. Changing a version,
124
+ field list or selected value invalidates old suggestions on reads, adoption and
125
+ replay, including changes inside policy-owner callbacks. Full argument feedback
126
+ retrieval remains unchanged; hosts may present matching examples from
127
+ `retrieveFeedback`, but suggestion creation revalidates every supplied ID.
128
+
92
129
  `adoptRoutingRule` requires the exact suggestion digest and expected policy
93
130
  version plus current reviewer and adoption authority. The configured policy owner
94
131
  must perform its version compare-and-swap and audit on the supplied database
@@ -110,7 +147,9 @@ maintained browser fixture demonstrates this transport with CSRF protection and
110
147
  rejects substituted revisions.
111
148
 
112
149
  See [the behavior matrix](../../docs/test-matrix/3676-ingestion-feedback.md) for
113
- validation and the frozen learning protocol. The small authored deterministic
150
+ validation and the frozen learning protocol, and the
151
+ [routing projection matrix](../../docs/test-matrix/3732-ingestion-routing-projection.md)
152
+ for the optional subset contract. The small authored deterministic
114
153
  cohort demonstrates contract-level influence, not provider quality or measured
115
154
  production improvement. Real-provider evaluation belongs to #3677. There are no
116
155
  sampled automatic outcomes in this feature; reporting that stratum as unavailable
package/README.md CHANGED
@@ -65,9 +65,10 @@ Validation commands are `pnpm test`, `pnpm test:postgres`, `pnpm test:providers`
65
65
  `pnpm build` (including built browser import inspection). The PostgreSQL lane
66
66
  requires the repository's configured database service and never silently skips.
67
67
  The provider lane exercises local SDK adapters and process isolation; it does not
68
- claim live remote recognition quality. Component, e2e and evaluation command names are reserved by the ADR and
69
- explicitly unavailable until their owning children deliver the corresponding
70
- capability. See the [behavior matrix](../../docs/test-matrix/3670-ingestion-foundation.md).
68
+ claim live remote recognition quality. `pnpm test:components` and `pnpm test:e2e`
69
+ cover the maintained review surface. `pnpm test:evaluation` checks repository
70
+ evaluation tooling contracts; measured held-out quality requires a separately
71
+ frozen protocol and an approved aggregate provider budget. See the [behavior matrix](../../docs/test-matrix/3670-ingestion-foundation.md).
71
72
 
72
73
  ## Authoritative review and execution
73
74
 
package/REVIEW.md CHANGED
@@ -120,7 +120,8 @@ Run full package `test`, `test:postgres`, `test:providers`, `build`, `typecheck`
120
120
  `test:components`, `test:e2e`; use the root Node/pnpm versions. Set a short
121
121
  `CI_TEST_TMPDIR`/`TMPDIR`, and optionally
122
122
  `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH` to the supported installed Chromium.
123
- The evaluation lane remains explicitly unavailable until #3677.
123
+ `pnpm test:evaluation` checks repository evaluation tooling contracts; measured
124
+ held-out quality remains a separate frozen-protocol, budget-gated #3677 run.
124
125
 
125
126
  The existing CI browser job includes ingestion changes and shared UI primitive
126
127
  changes in affected mode, and runs the ingestion browser suite in full mode. Its
@@ -6848,7 +6848,7 @@ var IntakeExecutionService = class {
6848
6848
  if (!Array.isArray(references)) throw new Error("Feedback lineage unavailable");
6849
6849
  if (references.length === 0) return;
6850
6850
  if (!this.options.feedback) throw new Error("Feedback configuration unavailable");
6851
- const { IntakeFeedbackService } = await import("./feedback-B_NILilH.js").then((n) => n.n);
6851
+ const { IntakeFeedbackService } = await import("./feedback-C3OHD4sA.js").then((n) => n.n);
6852
6852
  await new IntakeFeedbackService(this.options, this).assertActionLineage(String(bound.action.id), db, String(bound.proposal.id));
6853
6853
  }
6854
6854
  async getAction(actionId) {
@@ -8028,4 +8028,4 @@ async function continueIntakeReview(service, actionId, task) {
8028
8028
  //#endregion
8029
8029
  export { feedbackActionTransaction as a, __exportAll as c, resolveIntakePolicy as i, __toESM as l, continueIntakeReview as n, feedbackDiscoveryContext as o, intakeBindingDigest as r, require_ajv as s, IntakeExecutionService as t };
8030
8030
 
8031
- //# sourceMappingURL=execution-CYjtj9_l.js.map
8031
+ //# sourceMappingURL=execution-C7sTFXFU.js.map