Dev Blog: ProjectMan Intake Infrastructure
A behind-the-scenes look at the notebook migration, medallion lineage, operations console, and Org intake helper work landed for ProjectMan.
Today was a documentation-and-infrastructure day for ProjectMan, but not the kind that only rearranges words. The work turned the notebook migration problem from "copy a thousand notes by hand and hope it fits" into a phased intake system with explicit evidence, review, rollback, and operating controls.
The trigger was practical: a real archive with roughly twenty Org notebooks, deep hierarchies, and large flat intake files. That shape needs tooling that can preview a subtree, summarize clusters, keep source evidence intact, and let a person make routing decisions without losing the original notes. So we built the plan wide enough for the real workload and then implemented the first architecture slices.
Roadmap 19 established first-class notebook support. ProjectMan now has notebook records and roots, notebook-scoped list/detail/tree/export/import/archive behavior, safe merge and replace imports, source backup manifests, notebook-aware capture and workflow filters, cross-notebook subtree moves, and Workbench admin pages. That gives the system a real place to hold Intake, Domestic, Journal, Projects, Events, and future notebooks as separate operating domains instead of pretending every heading belongs to one global tree.
Roadmap 20 added the medallion architecture underneath migration and lineage. Bronze now preserves source manifests, batch membership, file digests, quarantine state, and archive metadata. Silver gained Type 4-style current/history records for notebook and heading entities, plus point-in-time and lineage reads behind full-trust gates. Gold gained publication dependency and freshness metadata. The short version: raw source evidence is preserved, normalized entities can be audited over time, and derived views can explain what they were built from.
Roadmap 21 brought the operations layer into the Workbench. The new operations console covers migration state, lineage, quarantine, freshness, rollback, privacy, sync, export, and assistant review. It includes privileged-read audit trails, guarded staging rollback previews and applies, manual notebook file/folder sync with drift detection and backups, and a durable queue for assistant suggestions. This is the difference between having architecture in the database and having a place to operate it.
The Org intake helper also became a real migration companion. The CLI now supports report, scan, review, summarize, validation, marking, rescanning with merged decisions, capture export, hierarchy export, summary export, dry-run posting, real capture posting, hierarchy guidance, staging verification, summary registration, benchmark fixtures, and benchmark profiling. It uses Rich for readable terminal flows, keeps stable source hashes and fingerprints, saves decisions atomically, diagnoses partial JSON, rehydrates source truth during export, compares artifacts exactly, and binds staging evidence back to Bronze.
We also tightened the review surface around this work. The implementation went through code-review and acceptance passes that called out places where lineage needed stronger trust boundaries, staging artifacts needed source-backed verification, dry-run paths needed to avoid accidental production mutation, large-file behavior needed profiling instead of hope, and documentation needed to reflect actual delivered status. Those were fixed before the docs were marked implemented.
The end state is not that ProjectMan magically knows how to classify every note. The useful state is better: it can ingest large notebook archives while preserving what arrived, show a human enough context to decide where things belong, record those decisions, move data through Bronze, Silver, and Gold intentionally, and leave an audit trail for later reprocessing.
Next up, the roadmap execution path is phase-by-phase implementation from the documented roadmaps. The immediate product center of gravity is making the migration helper ergonomic against real notebooks: previewing subtrees, surfacing excerpts, clustering messy intake, protecting already-organized project hierarchy, and making it cheap to move uncertain material back through Intake.