Implemented human-gated userinput.app feedback intake without daemon automation.
- Added the admin-authored
setFeedbackSourceprotocol record and optional goaloriginstrongref, with generated types, validation fixtures, fold support, and URI-keyed imported-goal indexing. - Added sidecar commands for configuring feedback sources and creating goals with pinned foreign provenance.
- Added a browser-only Userinput project section with defensive foreign record parsing, owner/moderator trust rules, edit overlays, bounded Constellation discovery, explicit failure/truncation states, and editable goal imports framed as untrusted input.
- Added settings, rail navigation, imported badges, goal source chips, OAuth collection scope, pure tests, and an ADR documenting the human review boundary.
- Kept
packages/daemonunchanged.
Checks: pnpm lint; pnpm test; pnpm codegen with a clean generated-file check.
Remaining operational risk: Constellation or foreign PDS outages can make feedback temporarily unavailable; the UI reports this separately from an empty board. Concurrent humans can still import the same discussion twice, intentionally represented as multiple goals sharing one origin URI.