Investigation: materialize operation asset views #61

Closed
nsaspy wants to merge 7 commits from hackmode-db/15-investigation-asset-views into master
Owner

Advances #15 with the first bounded materialized-view slice.

RED-first evidence: exact head 872639d130feeddcee3a6328f66795f3e4f297c9 reached the repository-native Common Lisp test step and failed because the new HACKMODE:ENSURE-INVESTIGATION-VIEWS contract did not exist.

Implementation head on open: d23073e6df8bc8f060e84877d510d5569e12df93.

This slice:

  • defines Hackmode-owned assets/by-type and assets/by-tag materialized views using Tek9's public view API;
  • incrementally maintains them only after canonical asset persistence;
  • rebuilds newly registered views from existing operation documents to avoid false-empty legacy state;
  • exposes stable public view reads without raw LMDB access;
  • routes typed query-assets through assets/by-type instead of full operation scans;
  • proves idempotent discovery, stable ordering, and full rebuild equivalence.

The prior draft #165 passed all three gates at this exact head but could not be transitioned because the connector's draft→ready mutation requests nonexistent GitHub GraphQL field Repository.fullDatabaseId. This normal PR intentionally reruns fresh PR-triggered checks before merge.

ingest/by-state is not faked here: Hackmode's durable outbox lives in a named Tek9 DB while current view application reads the primary DB. Generic named-source view support is tracked upstream as lost-rob0t/tek9#15. Keep Hackmode #15 open after this slice for that and later investigation views.

Advances #15 with the first bounded materialized-view slice. RED-first evidence: exact head `872639d130feeddcee3a6328f66795f3e4f297c9` reached the repository-native Common Lisp test step and failed because the new `HACKMODE:ENSURE-INVESTIGATION-VIEWS` contract did not exist. Implementation head on open: `d23073e6df8bc8f060e84877d510d5569e12df93`. This slice: - defines Hackmode-owned `assets/by-type` and `assets/by-tag` materialized views using Tek9's public view API; - incrementally maintains them only after canonical asset persistence; - rebuilds newly registered views from existing operation documents to avoid false-empty legacy state; - exposes stable public view reads without raw LMDB access; - routes typed `query-assets` through `assets/by-type` instead of full operation scans; - proves idempotent discovery, stable ordering, and full rebuild equivalence. The prior draft #165 passed all three gates at this exact head but could not be transitioned because the connector's draft→ready mutation requests nonexistent GitHub GraphQL field `Repository.fullDatabaseId`. This normal PR intentionally reruns fresh PR-triggered checks before merge. `ingest/by-state` is not faked here: Hackmode's durable outbox lives in a named Tek9 DB while current view application reads the primary DB. Generic named-source view support is tracked upstream as lost-rob0t/tek9#15. Keep Hackmode #15 open after this slice for that and later investigation views.
Rebuild newly registered asset views for legacy operation data
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 14s
core / common-lisp-core (pull_request) Failing after 1m15s
monorepo / hygiene (pull_request) Successful in 3m25s
d23073e6df
nsaspy closed this pull request 2026-09-04 20:57:43 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 14s
core / common-lisp-core (pull_request) Failing after 1m15s
monorepo / hygiene (pull_request) Successful in 3m25s

Pull request closed

Sign in to join this conversation.
No description provided.