WORKSPACE-MAP.md

1. Orientation

This workspace holds Joe’s work, records, evidence and notes. Open this file when you want to know where something goes. Open index.md for a short list of entrances. Tasks, watches and recurring reviews belong in SQLite, edited through Simple Tasks or its command interface. Original documents and domain stores own the evidence. Notes explain what the evidence means. They cannot silently replace a structured fact. Generated pages are reading copies. Change their owner, then regenerate them. Historical pages explain what happened then. They are not instructions for today. The frozen 4 November contract governs the architecture; Joe’s later decisions amend its specific choices. The app, digest, evening close and Pulse share task-selection rules. Hermes owns scheduling. Registers and finance are still being migrated. Their planned ownership must not be presented as completed work.

2. The system in one picture

EVIDENCE AUTHORITIES                         JOE'S INPUT
Documents, correspondence, bank exports      Decisions, committed actions,
investment CSVs, BP CSV, anxiety log,         watches, review instructions
CouchDB wellness, health/solar collectors                |
               |                                        |
               +--- sourced assessment / commands ------+
                                      |
                                      v
                         STRUCTURED OPERATIONAL STORE
                         SQLite: tasks, watches, reviews,
                         standing records, assessed dates,
                         reconciled money facts
                                      |
                       +--------------+--------------+
                       |                             |
                       v                             v
                 selection.py                 View generators
                       |                             |
              +--------+---------+          Markdown / JSON exports
              |        |         |                   |
              v        v         v                   v
             App     Digest    Evening           RAG / Kindle /
                        |       close            finance dashboards
                        v
                      Pulse
 
SQLite accepted date facts ---> owned calendar mirror ---> Calendar
 
Domain evidence stores ---> their own generators ---> health, BP,
                                                     wellness, solar,
                                                     portal-status views
 
Evidence + decisions ---> attributed notes ---> human understanding
                                           ---> RAG / Kindle reading copies
 
Hermes cron schedules existing jobs. The app scheduler remains shadow.
 
FORBIDDEN LOOPS
Generated view ----X----> independent state writer
Calendar / RAG / Kindle ----X----> overwrite SQLite
Frozen tracker ----X----> re-import completed or trashed work
SQLite <-----------X-----------> Markdown bidirectional sync

Arrows show derivation. A projection never becomes more authoritative than its source. Multiple clients may submit commands to SQLite; they must share identity, validation and conflict handling.

Current transition: four task views are already generated in generated/. Kindle and RAG still name frozen originals as inputs. The kidney process still reads and can write the old life-admin file. Those paths must change before the originals move.

Handwritten Kindle notes may become new evidence, with provenance and review. They must not become automatic edits to exported task state.

3. Areas

AreaWhat belongs here; what does notTruth and editing
TasksCommitted work, watches, recurring reviews and capture awaiting triage. Balances and case histories belong elsewhere.SQLite owns operational state. Joe edits through the app or commands; Markdown task views are generated.
Life admin and casesClaims, complaints, donation administration, people, shipments and their histories. General errands belong in Tasks.Correspondence and portal observations own evidence; structured records own current case state. Joe edits interpretation and submits operational changes through the shared interface.
Bills and moneyAgreements, notices, payments, receipts, accounts, card terms and mortgage records. A receipt alone does not establish an agreement or payment.Documents and transactions own evidence; reconciled records belong in SQLite. Register migration is unfinished; resulting views will be generated.
Investments and pensionDated valuations, contributions, gains, pension evidence and planning assumptions. Repeated balances and copied deadlines do not belong in strategy notes.Investment CSVs, provider observations and documents own evidence. SQLite will own reconciled facts; Joe edits strategy and assumptions, while reports are generated.
HealthMeasurements, anxiety situations, mood and derived health summaries. Donation administration belongs with cases.BP CSV, anxiety Markdown, CouchDB wellness and collectors retain authority. Joe records inputs; summaries are generated.
TherapyAttributed session records, reflections, themes, open questions and agreed practices. An unresolved feeling is not automatically a task.Session records remain unchanged. Joe and the agent may edit clearly attributed compiled notes, preserving disagreements with sources.
Home automationExplanations, incident evidence, historical HA audits and solar reports. Device configuration does not live in a workspace note.HA and service configuration own live behaviour. Joe edits explanations; historical audits are evidence and collector views are generated.
System and opsArchitecture, recovery, incident records, implementation plans and operating rules. Copied live inventories should not masquerade as current prose.Runtime configuration owns deployment and schedules. Current guides are editable; historical reports stay frozen; inventories derive from their owners.
Documents and researchOriginal documents, source-linked transcriptions, dated research, journals and writing reference. Tasks discovered here are routed into SQLite.Originals own evidence. Research and interpretation are editable unless preserved as dated history; journals remain source records.
IndexesStable descriptions and links. No current balance, deadline, blocker or case status.Navigation only. Agent-maintained and editable, with every target resolvable.

The target layout

Group the estate into eight browsing areas. A flat root of 54 subject files is too much to read. There are now 55 root Markdown files, including TRACKER-MAP.md.

Keep sources, application code and generated outputs in their own established locations. They do not need to be forced into the eight browsing folders.

workspace/
├── index.md                       Short front door
├── WORKSPACE-MAP.md                Routing, ownership and complete file map
├── AGENTS.md                      Short agent rules
├── TRACKER-STANDARD.md             Current container and publication rules
├── USER.md                        Stable personal context
├── SOUL.md                        Agent voice and behaviour
├── RESTORE.md                     Current recovery entrance
├── inbox.md                       One capture queue
├── decisions.md                   Decision history and links to rulings
├── log.md                         Workspace change history
├── agreements-register.md         Contract-required generated agreement view
├── automation-register.md         Generated from actual scheduler definitions
│
├── tasks/
│   ├── index.md
│   ├── cross-tracker-intelligence.md
│   └── archive/                   Frozen task originals and retired captures
├── admin/
│   ├── index.md
│   ├── cases/                     One explanatory history per case
│   ├── case-status.md              Portal collector view
│   ├── people-register.md
│   ├── parcels-register.md
│   ├── shopping-register.md
│   └── archive/                   Frozen life-admin original
├── finance/
│   ├── index.md                    Bills and investing entrances
│   ├── accounts-register.md        Contract-required account view
│   ├── receipts-log.md             Receipt events, separate from agreements
│   ├── strategy.md                 Editable assumptions and rationale
│   ├── …financial views…           Existing financial filenames moved here
│   ├── evidence/                  Preserved monthly observations
│   ├── reports/
│   └── …existing source CSVs…
├── health/
│   ├── index.md
│   ├── …existing source CSVs…
│   ├── anxiety-log-tracker.md      Original anxiety record
│   ├── …generated health views…
│   └── google-health-data-reference.md
├── therapy/
│   ├── index.md
│   ├── Understanding.md            Combined themes and patterns
│   ├── Open Loops.md               Questions and agreed practices
│   ├── Sessions.md
│   ├── Session ….md                Unchanged source notes
│   ├── Log.md
│   └── archive/                    Superseded compiled pages
├── home/
│   ├── index.md
│   ├── solar-tracker.md
│   └── evidence/                  HA audits and doorbell investigation
├── ops/
│   ├── index.md
│   ├── system-map.md               Short current explanation
│   ├── wiki-guide.md               Combined linking and format guide
│   ├── kindle-scribe.md
│   └── archive/                   Audits, incidents and one-off procedures
├── documents/
│   ├── index.md
│   ├── …original PDFs and sidecars…
│   ├── research/
│   └── archive/
│
├── generated/                     Keep the four task export paths stable
├── memory/                        Historical journal sources
├── diary/                         Rootbeet's historical reflections
├── thinking/                      Existing reflection source
├── templates/
├── .hermes/plans/                 Existing design and decision records
├── handoff/, runbooks/             Existing operational packages
└── …application directories…      Keep application-owned documentation with code

The target is 12 root Markdown entrances and contract-required views. Temporary compatibility links may remain during migration, then retire after their consumers have passed the weekly gate.

4. The file map

These are current paths, before the change orders.

The classified estate contains 77 files. Add TRACKER-MAP.md and four task exports: 82 files. The full tree contains 166 Markdown files, excluding trash, Git internals and dependencies. The other 84 are supporting records, journals, plans and application documentation. They belong in the map, but outside the weekly reading route.

Labels mean:

  • Evidence: preserve the record; add a correction or interpretation separately.
  • Frozen original: historical content retained after task cutover.
  • Generated: change its source or generator.
  • Generated later: migration is planned; the present file still contains maintained state.

Tasks

Life admin and cases

  • life-admin-tracker.md — frozen original: EgyptAir, employment tribunal, kidney donation, FOS and rail case evidence and decision history.
  • case-status.md — generated: observations from monitored case portals, including monitoring gaps.
  • people-register.md — people, birthdays, promises and contact context; generated later.
  • shopping-register.md — shopping capture, purchases and vouchers; generated later.

Bills and money

Investments and pension

  • pension-cashflow-tracker.md — financial overview, pension planning, tax reasoning and copied tasks; generated later, with strategy extracted.
  • investment-gains-tracker.md — collected investment valuations and gain calculations; generated later from reconciled observations.
  • investment-monthly.md — evidence: dated monthly investment observations, including unknown pension values.

Health

Therapy

Home automation

System and ops: current guides and historical reports

System and ops: design and decision records

These stay under .hermes/plans/. Their recorded dates and supersession matter more than words such as “final” in their titles.

Documents, research and reflection

Documents and reflection: historical journals

These are evidence of what was recorded then, including mistakes and superseded assumptions.

Documents and reflection: Rootbeet’s diary

These are attributed agent reflections, not Joe’s own statements or current system documentation.

Indexes, personal context and workspace rules

  • index.md — the front door; shorten to stable entrances.
  • TRACKER-MAP.md — the existing classification table; absorb into this map and preserve its dated original.
  • documents/index.md — document catalogue; remove copied counts and unresolved-status commentary.
  • AGENTS.md — agent operating instructions; replace obsolete Markdown task-writing guidance.
  • TRACKER-STANDARD.md — container and formatting rules; subordinate explicitly to the frozen contract and later decisions.
  • KNOWLEDGE-GRAPH.md — linking and compilation guide; combine with the format guide.
  • OKF.md — format conventions and exclusions; combine with the linking guide.
  • USER.md — stable personal context; replace copied operational statuses with links.
  • SOUL.md — agent voice and behavioural guidance, subject to Joe’s operating rules.
  • decisions.md — historical rationale; link to the authoritative 48-answer record without rewriting old decisions as current facts.
  • log.md — evidence: append-only workspace structural-change history.

5. How to use it

Weekly

Read the app’s current work and watches, then the relevant area index. Read finance reports for balances and case notes for explanation. Browse Inbox for unrouted captures.

Use the current therapy synthesis when preparing for reflection. Open individual session records when attribution or wording matters.

The weekly route should not require reading audit reports, old plans or all 166 files.

When something breaks

Start at RESTORE.md for recovery, or ops/system-map.md for dependencies. Follow the relevant component’s current guide and actual configuration.

Use historical incident reports to understand previous failures. Their dates and preconditions must remain visible. An old repair procedure is not an instruction to repeat it.

For task disagreements, inspect SQLite identity and shared selection rules. For a wrong generated figure, follow its source and generator. For a claim about a document, open the original.

What never to edit directly

Do not edit generated views, frozen task originals, preserved session records or historical evidence to make today’s picture agree.

Append observations to source logs through their established capture route. Record corrections separately. Generated-file conflicts require explicit reconciliation; do not force publication over them.

Adding something new

Choose the area, then the container:

What arrived?Put it here
Unclear thought, link or possible intentionInbox, with a later disposition: routed, dismissed or awaiting clarification
Committed action or decision to makeSQLite task, with owner and finish condition
Expected response, expiry or state changeSQLite watch; link a task only when action is required
Repeating reviewReview template plus separate occurrence/result
Persistent person, case, shipment, agreement or accountStanding record with stable identity and subtype
Notice, payment or receiptSourced event, keeping those three meanings separate
Date or amountFact attached to its subject, with purpose or measure, source and precision
Original document or measurementIts existing evidence store
Explanation, research or reflectionAttributed note in the relevant area
Choice already madeDecision record with rationale and source links
A way to find any of theseIndex entry containing a description and link

A note may contain several kinds of material. Extract operational facts through review and link them back. Do not turn the whole note into a task.

6. Change orders

Execute in order. An order marked requires Joe is a final approval gate for its concrete money changes. Prepare its migration and comparison first. Dependent orders must not pretend that gate has passed.

1. Preserve the starting point and establish the move ledger

Change: Capture source hashes, current paths, database identities and a consistent database backup. Record each intended old path, new path, owner and consumer. Preserve existing uncommitted work.

Why: Folder changes must preserve evidence, provenance and post-cutover edits.

Files affected: Workspace Markdown, tracker-schema.json, Simple Tasks source mappings, existing backup mechanism.

Risk: Low for capture; incomplete provenance would make later moves unsafe.

Verification: Every one of the 166 Markdown paths has a disposition. Verify the database backup using its existing restore procedure. Record hashes before any rewrite.

Reversible: Yes. This order creates the reference needed to reverse later changes.

2. Publish one map and eight area entrances

Change: Save this content as WORKSPACE-MAP.md. Create the eight area indexes, initially linking to current paths. Preserve TRACKER-MAP.md unchanged in ops/archive/tracker-map-2026-11-04.md, then reduce the old path to a temporary link.

Why: One map owns routing and file roles. Area indexes provide short browsing routes.

Files affected: WORKSPACE-MAP.md, TRACKER-MAP.md, eight area indexes, index.md.

Risk: Low. The main risk is keeping two maps independently maintained.

Verification: Every file appears once in the complete map. Every area index resolves. Labels distinguish generated today from generated later.

Reversible: Yes. Restore the preserved map and navigation files.

3. Rewrite the short, current instructions

Change: Keep index.md to one screen. Keep AGENTS.md to operating rules and owner links. Rewrite TRACKER-STANDARD.md around current containers, structured ownership and generated publication.

State precedence explicitly: frozen architectural contract, amended by Joe’s later specific decisions. Link to both records. Append a correction to decisions.md that all 48 answers are recorded; preserve its older “46 answered” entry as history.

Include annual June dentist review, green meaning in progress, and repair-forward under SQLite where applicable. Remove instructions to write task rows into frozen files.

Why: These files determine how future agents interpret the whole estate.

Files affected: index.md, AGENTS.md, TRACKER-STANDARD.md, decisions.md; matching skill guidance where it directs obsolete writes.

Risk: Medium. An obsolete instruction can recreate a second writer.

Verification: No current instruction promotes Markdown to task authority, converts missing figures to zero, or recommends switching authority back to Markdown. Do not mark queued decisions applied without implementation evidence.

Reversible: Yes, from preserved versions; SQLite remains authoritative throughout.

4. Make tooling understand folders before moving files

Change: Use workspace-relative paths as note identity in graph and lint tooling. Support repeated index.md filenames, links containing spaces, and explicit aliases for historical links. Update schema ownership to distinguish sources, editable notes, frozen originals and generated views.

Keep historical source text unchanged. Resolve its old links through the move ledger rather than rewriting evidence.

Why: The current graph uses filename stems, which cannot safely distinguish eight index.md files.

Files affected: scripts/wiki-graph.py, scripts/wiki-backlinks.py, scripts/wiki-lint.py, tracker-schema.json, relevant validator and normaliser code.

Risk: Medium. Incorrect resolution could silently connect a source to the wrong note.

Verification: Fixtures cover two same-named indexes, therapy filenames with spaces, moved source links, ambiguous wiki links and preserved source hashes. Normalisation must skip evidence and generated outputs.

Reversible: Yes. Revert tooling and path mappings together.

5. Separate case explanation from operational state

Change: Extract attributed histories into:

  • admin/cases/egyptair.md
  • admin/cases/employment-tribunal.md
  • admin/cases/kidney-donation.md
  • admin/cases/fos-section75.md
  • admin/cases/rail-ombudsman.md

Link histories to existing structured identities and source sections. Keep current actions, watches and assessed dates in SQLite. Move the kidney process off writes to life-admin-tracker.md; correspondence becomes sourced events, with current process state updated through the shared command path.

Keep portal observations owned by case-watch.py. Preserve both disputed Interpath references. Reuse existing people, shipment and shopping identities rather than importing duplicates.

Why: The frozen life-admin original currently combines several histories with a live process dependency.

Files affected: life-admin-tracker.md, new case notes, kidney-chase.py, related standing-record interfaces and admin registers.

Risk: Medium. A bad migration could duplicate a chase or imply an unsupported case outcome.

Verification: Same task/watch IDs and completion/trash state before and after. Replayed correspondence is idempotent. No writer touches the frozen original. Preserve claim amounts verbatim; do not reconcile money in this order.

Reversible: Yes, through replay and preserved sources. Do not restore Markdown task authority.

6. Rebuild agreements, notices, payments and receipts — requires Joe

Change: Complete Stage 3’s monetary standing records. Introduce the contract-required agreement and account views. Separate receipt events into finance/receipts-log.md. Make subscriptions a filtered agreement view and renewal watches reference the same agreement/date identities.

Preserve notices and transactions as distinct evidence. Apply settled classifications through an explicit before/after migration, including TSB closure, HomeServe insurance, Freetrade top-up, mortgage, council tax, Lebara terms and Klarna’s separate measures.

Why: Current register rows mix receipts, agreements, payments and balances.

Files affected: Agreement/account/event storage and interfaces; agreements-register.md, finance/accounts-register.md, bills, payment, subscription and switching views; their ingestion scripts.

Risk: High for money meaning and duplicate ingestion.

Verification: Each migrated row has source provenance and a declared meaning. Re-running ingestion produces no duplicate events. Notices do not prove payment; receipts do not create agreements. Present every changed money fact for Joe’s approval.

Reversible: Yes, with migration mappings and event replay proven on a copy. Preserve all originals.

7. Rebuild finance reports from reconciled facts — requires Joe

Change: Complete Stage 4. Extract explanation into finance/strategy.md; generate operational financial tables from sourced facts. Apply Joe’s queued money decisions, including one dated closing observation, separately scoped cash measures, distinct gain components, unknown-input blocking and recalculation under the chosen 5% assumption.

Retain Joe’s chosen mortgage-margin treatment. Do not reopen settled assumptions while restructuring. Preserve monthly observations as evidence.

Why: The same balances, deadlines and calculations currently appear in several maintained pages.

Files affected: Pension/cashflow, gains, mortgage and stoozing files; finance collectors, calculators and exporters; investment-monthly.md; copied figures in briefings.

Risk: High. A changed measure can produce a plausible but wrong total.

Verification: Give Joe a source-linked before/after ledger. Reconcile totals and equations. Show observation times, scope and missing inputs. No stale value becomes current by carry-forward. Future dates remain distinct from current balances.

Reversible: Yes, after proving replay preserves edits made since cutover. Never reverse by reviving frozen tracker writers.

8. Consolidate the narrative pages

Preserve dated originals before rewriting compiled pages. Apply these dispositions to all 30 narrative files:

FilesDisposition
AGENTS.md, TRACKER-STANDARD.mdKeep short and current under order 3. Link to owners rather than copying their state.
KNOWLEDGE-GRAPH.md, OKF.mdCombine into ops/wiki-guide.md; temporary old-path links, then retire them.
RESTORE.mdKeep as the current recovery entrance. Retain unique bootstrap dependencies and recovery limits.
SOUL.mdKeep agent voice and behaviour. Remove any reading that grants permission beyond Joe’s rules.
USER.mdKeep stable personal context. Replace case status and task-handling mechanics with owner links.
browser-vault-capability.mdPreserve the development history; replace the current-facing page with a short owner link. Label token-file design historical and rbw-agent current, as Joe decided.
cross-tracker-intelligence.mdShrink to named rule purposes, implementation links and declared inputs. Remove its independent snapshot and obsolete task-writing instructions.
decisions.mdKeep rationale and supersession history. Link to the full 4 November rulings.
documents/doorbell-detection-redesign-2026-09-21.mdPreserve the whole dated investigation. Link to live HA/Frigate owners for current behaviour.
documents/google-health-data-reference.mdKeep data semantics and caveats. Replace copied schedules and access mechanics with collector/skill links.
documents/manchester-train-research.mdKeep as dated journey research. Do not promote it to current travel authority.
documents/principality-mortgage-completion-2026-07-30.mdRetain the source-linked transcription. Do not use consolidation to change its money facts.
drive-prune-2026-10-26.mdPreserve as a dated proposal. Current authorised work belongs in SQLite.
email-style-guide.mdKeep as the writing reference; it has a distinct purpose.
inbox.md, mentions.mdKeep Inbox as the single queue. Absorb mentions with provenance and explicit dispositions; retire the duplicate entrance.
instinct-ai-research.mdPreserve as dated research; refresh only through a new research action.
instinct-briefing.mdPreserve the dated briefing and private boundary. Replace its current-facing role with links to profile, cases, finance and ops.
kindle-scribe.mdKeep a short current integration guide, with links to scripts and the dated setup plan.
luna-audit-brief.md, luna-audit-findings.mdFreeze as project history. Link unresolved findings to reviewed existing tasks; do not auto-create a task for every finding.
runbook-joehost-pool-fix.mdArchive the one-off procedure. Current recovery starts at RESTORE.md.
system-map.mdPreserve the full 1 November snapshot. Produce a short current architecture explanation; link inventories to their actual owners.
therapy/Themes.md, therapy/Patterns.mdCombine into therapy/Understanding.md, retaining unique material and individual attribution.
therapy/Open Loops.md, therapy/Experiments.mdKeep questions and agreed practices in Open Loops. Preserve “none assigned” as dated history; retire the empty separate practices page.
thinking.mdKeep attributed observations. Replace current-facing operational reference with owner links; preserve the earlier version.

Why: These changes remove competing summaries while retaining explanation and provenance.

Files affected: The 30 files above, their archived versions, successor notes and incoming links.

Risk: Medium, especially for therapy attribution and mistaken loss of unique reasoning.

Verification: Every removed substantive passage has either a preserved historical location or an identified successor. Therapy sources remain byte-identical. Mixed records are individually attributed; differences remain explicit.

Reversible: Yes. No source or historical original is deleted.

9. Make domain ownership visible without centralising its evidence

Change: Publish automation-register.md from real scheduler definitions. Keep it a view of scheduling, not another scheduler. Identify each domain-generated page’s owner and source in its header or surrounding index.

For HA evidence, describe conflicting historical counts as disputed-scope snapshots in the index. Do not “fix” their source documents. Keep health, anxiety, wellness and solar evidence in their existing domain stores.

Why: A reader should be able to follow each view to its source without assuming SQLite owns every measurement.

Files affected: automation-register.md, its generator, home/health indexes and relevant view generators.

Risk: Medium if a generated inventory is mistaken for executable configuration.

Verification: Register entries match actual definitions, including disabled jobs and deliberate exceptions. No jobs are created, enabled or duplicated. Source hashes remain unchanged.

Reversible: Yes. Generated navigation can be removed without changing schedules or evidence.

10. Finish consumer migration and observe a full weekly cycle

Change: Move Kindle and RAG task inputs to complete generated publications. Remove remaining operational reads of frozen trackers. Ensure digest finance sections consume reconciled finance outputs rather than extracting another task list from prose.

Use shared selection for task lifecycle and attention rules. Consumers must reject or clearly warn about stale, incomplete or failed generations. Preserve source timestamps and generator identity.

Why: A readable folder structure is misleading if a device still displays frozen work.

Files affected: kindle-digest.py, sync-docs-to-rag.py, daily-tick.py, publish.py, relevant finance exporters, Pulse and calendar adapters where necessary.

Risk: High for stale work resurfacing or partial exports appearing current.

Verification: Compare identities and meanings across app, digest, close, Pulse, exports and local calendar fixtures. Cover completed/trashed suppression, month-only dates, annual June dentist review, distinct Google dates and reminder-versus-renewal labels. Observe one full weekly cycle before retiring legacy paths. Do not create external test events or send test messages.

Reversible: Yes, by reverting consumer code against the authoritative SQLite store. Retain post-cutover state.

11. Move the files into the eight areas

Use the file-map groupings above as the move ledger, with these exact destination rules:

Current filesDestination
General, annual and renewal frozen originalstasks/archive/<same filename>
Frozen life-admin originaladmin/archive/life-admin-tracker.md
Cross-tracker rulestasks/cross-tracker-intelligence.md
People, parcels, shopping and case-status viewsadmin/<same filename>
Root financial views and switching historyfinance/<same filename>
Monthly investment evidencefinance/evidence/investment-monthly.md
BP, wellness and anxiety root fileshealth/<same filename>
Google Health referencehealth/google-health-data-reference.md
Solar viewhome/solar-tracker.md
Nine HA reports and the doorbell investigationhome/evidence/<same filename>
Current system map and Kindle guideops/<same filename>
Root ops incidents, audits, closeouts and one-off runbookops/archive/<same filename>
Email style guidedocuments/email-style-guide.md
Instinct research and Manchester researchdocuments/research/<same filename>
Drive proposal, dated briefing and retrospectivedocuments/archive/<same filename>
Thinking note and wins logdocuments/<same filename>
Retired mentions capturetasks/archive/mentions-2026-11-04.md
Therapy entranceRename to therapy/index.md; archive superseded compiled pages there
Combined wiki/format guideops/wiki-guide.md; preserve its predecessors in ops/archive/

Leave PDFs and their sidecars together. Leave generated/, source CSVs, journals, hidden plans, application documentation and handoff packages in their established locations.

Why: Subjects become browsable without scattering sources or breaking application packages.

Files affected: Moved files, producers, consumer paths, schema, indexes and link resolver.

Risk: Medium to high for hard-coded paths and source provenance.

Verification: Update producers and readers in the same bounded change. Preserve source IDs, original locators and hashes through the move ledger. Every moved evidence file must have identical bytes. No duplicate physical “current” copies.

Reversible: Yes, by reversing the path ledger and code/configuration changes together.

12. Close the navigation and prove the result

Change: Rewrite the map links to final paths. Remove temporary compatibility entrances once all references resolve. Record completion and remaining gates in log.md. Retain snapshots, migration mappings and the reverse path.

Why: Completion means Joe can navigate the estate and each consumer follows its declared owner.

Files affected: Map, indexes, temporary links, schema, change log and verification records.

Risk: Medium if compatibility is retired before an overlooked consumer moves.

Verification: Run wiki lint, schema validation and normalisation checks against the revised ownership rules. Demonstrate that every Markdown file is reachable through its area or source collection. Search code and configuration for retired operational paths. Prove on a copy that recovery retains a task edit made after cutover. Report any remaining exception explicitly.

Reversible: Yes. Retiring compatibility links does not authorise deleting evidence, snapshots or mappings.

12 change orders. 2 require Joe: orders 6 and 7. Execute first: 1 — preserve the baseline and move ledger; 2 — publish the map and area entrances; 3 — rewrite the short, current instructions.