2026-09-27 13:05:03 +02:00
|
|
|
# Consumer feedback intake
|
|
|
|
|
|
|
|
|
|
Activity-core reads `sources.json` daily, resolves each enrolled Forgejo repository's
|
|
|
|
|
branch to a full commit and reads its receipt index and YAML events at that revision.
|
|
|
|
|
Only `https://forgejo.coulomb.social/coulomb/` is allowed. No arbitrary commands,
|
|
|
|
|
credentials, or model prompts are taken from these files.
|
|
|
|
|
|
|
|
|
|
Enrollment entry:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{"repo":"example-consumer","branch":"main","index":"research/pattern-use/index.json"}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Consumer index (at most 100 entries across one collection):
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{"schema_version":1,"receipts":[{"path":"research/pattern-use/use-01/event-01.yaml","sha256":"<64 hex characters>"}]}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Events follow [PatternUseReceipt.yaml](../templates/PatternUseReceipt.yaml).
|
2026-10-04 09:02:35 +02:00
|
|
|
The [local producer helper](ConsumerIntegration.md#local-lookup-and-closeout-helper)
|
|
|
|
|
prepares verified reference pins and a new immutable JSON/YAML event plus its index
|
|
|
|
|
entry from explicit consumer provenance. It does not install the closeout hook or
|
|
|
|
|
enroll a consumer. `decision-input.example.json` is a synthetic format fixture.
|
2026-09-27 13:05:03 +02:00
|
|
|
One stable `use_id` links immutable events; `previous_event_sha256` identifies a
|
|
|
|
|
follow-up. Identical events deduplicate; conflicting IDs, missing predecessors,
|
|
|
|
|
branches/cycles and malformed records are quarantined in the report. Synthetic
|
|
|
|
|
receipts never count as external use. A source/hash check establishes provenance,
|
|
|
|
|
not the truth of a helpfulness assertion or the referenced test result.
|
|
|
|
|
|
|
|
|
|
Reports are retained by activity-core and State Hub, under `fep_feedback_intake`,
|
|
|
|
|
`fep_improvement_review` and `fep_monthly_review`. Their compact deterministic digest
|
|
|
|
|
records exact source revisions, counts, unresolved signals and collection errors.
|
|
|
|
|
A collection error disables action eligibility and is reported as degraded, not zero
|
|
|
|
|
feedback. The current adapter rejects over-cap collections visibly; durable cursor
|
|
|
|
|
pagination and consumer closeout wiring remain WP-0008 T02 work.
|
|
|
|
|
|
|
|
|
|
No consumers are enrolled initially. Enrollment and actual task-close receipts are
|
|
|
|
|
still needed to measure value. The unattended report schedules do not create real-use
|
|
|
|
|
evidence. Weekly mutation remains disabled until a scoped, budget-enforced execution
|
|
|
|
|
profile has a positive production proof. See [runbook](../docs/ActivityCoreLoop.md).
|