Problem
codeassembly#714 landed event capture and recall, writing event records at the store root ({storePath}/events/). So that events sit coherently alongside other vault content — assertions live under content/assertions/{domain}/ — the substrate should write and read event records under content/events/ instead. Separately, the capture-event skill should document how to record a solved-problem episode so such episodes are recallable as a group.
This ticket covers only the store-agnostic codeassembly substrate. Enabling a specific vault to accept events — declaring the event/assertion kinds in that vault's schema and validating its live KB — is a per-vault concern; for the coding store that is vaults.coding#14.
Context
Builds on codeassembly#714. The capture/recall machinery is store-agnostic, and kb-retrieve classifies a record as an event by its frontmatter (captured-at), not by path — so the record location can move with no recall code change. content/events/ parallels content/assertions/{domain}/, fitting the vault content layout established in vaults.coding#11.
Proposed solution
Event location. capture-event, its provision script, and kb-retrieve adopt {storePath}/content/events/ as the substrate-wide event-record location, replacing {storePath}/events/. Because classification is frontmatter-driven, kb-retrieve needs no code change — only a regression test that an event under content/events/ is recalled and classified as an event.
Solved-problem episodes. Document in the capture-event skill that a solved-problem episode is recorded as an observation tagged fix (problem and resolution in the body) — no new type. The tag makes such episodes findable as a group.
Acceptance criteria
Must have
Should have
References
- Builds on: codeassembly#714
- Coding-store schema (event + assertion kinds) and live-KB validation: vaults.coding#14 (merged by vaults.coding#15)
- Coordinates with: vaults.coding#11 (vault content relocation;
content/events/ parallels content/assertions/)
- Follow-up: vaults.coding#12 (retire the duplicated validator and the flat bridge lines once kb-core publishes)
Problem
codeassembly#714 landed event capture and recall, writing event records at the store root (
{storePath}/events/). So that events sit coherently alongside other vault content — assertions live undercontent/assertions/{domain}/— the substrate should write and read event records undercontent/events/instead. Separately, thecapture-eventskill should document how to record a solved-problem episode so such episodes are recallable as a group.This ticket covers only the store-agnostic codeassembly substrate. Enabling a specific vault to accept events — declaring the
event/assertionkinds in that vault's schema and validating its live KB — is a per-vault concern; for thecodingstore that is vaults.coding#14.Context
Builds on codeassembly#714. The capture/recall machinery is store-agnostic, and
kb-retrieveclassifies a record as an event by its frontmatter (captured-at), not by path — so the record location can move with no recall code change.content/events/parallelscontent/assertions/{domain}/, fitting the vault content layout established in vaults.coding#11.Proposed solution
Event location.
capture-event, its provision script, andkb-retrieveadopt{storePath}/content/events/as the substrate-wide event-record location, replacing{storePath}/events/. Because classification is frontmatter-driven,kb-retrieveneeds no code change — only a regression test that an event undercontent/events/is recalled and classified as an event.Solved-problem episodes. Document in the
capture-eventskill that a solved-problem episode is recorded as anobservationtaggedfix(problem and resolution in the body) — no new type. The tag makes such episodes findable as a group.Acceptance criteria
Must have
capture-eventand the provision script write event records to{storePath}/content/events/.kb-retrieverecalls events fromcontent/events/with no code change (it classifies records by frontmatter, not path), verified by test.capture-eventskill documents recording solved-problem episodes asobservationevents taggedfix.Should have
capture-eventskill) reflects thecontent/events/location.References
content/events/parallelscontent/assertions/)