Back Office · office.temerarii.xyz
OFFICE-IA.md

← all docs

Office IA — the front↔back audit (every page, what it shows ↔ what it reads)

The back office (office.temerarii.xyz) is a transparent window onto the MD/YAML/JSON backend — every page renders from a source file, never hand-authored. This is the map: front (what you see) ↔ back (what it reads). Each page also prints its source in its footer ("front ↔ back · …").

The two data layers (and why)

  • content-index.json (the JOIN, 304 assets = 94 cells + 210 threads) — the single source the planning/scheduling lenses read. Built by engine/lib/content_index.py from GOAL.yaml + calendar/*.yaml + topics.yaml + _threads.yaml + storyboard-registry + treatment-plan.
  • storyboard-registry.json (30 weekly HERO cells) — the production-truth subset that has been composed to scenes[]/VO/captions. The render-status lenses read this + render_status (disk MP4s).
  • Rule: registry-30 is the "rendered heroes" sub-view OF the 304; surfaces label their scope so they never silently disagree.

Top nav (9) — every page has a proper place

NavURLFront showsBack reads
Dashboard/gates 13/13 · production metricsgoal.py status · registry · render_status
GTM Strategy/gtm-strategyICP · thesis · initiatives · campaignsgtm.yaml + GOAL.yaml
Funnel/funnelreach·capture·convert · offer ladder · nurturesfunnel.yaml
Calendar/calendar (tabs: Week·Day·Channel)week grid → cell modalregistry(30) + GOAL + render_status
Storyboards/storyboardper-cell production truth (script/VO/audio/render 9-dot)registry(30) + treatment-plan + render_status
Templates/templates/preview (tabs: Gallery·Catalog·Wireframes·Needs)the hover thumbnail gallerytreatment-plan + rendered variants + render_status
Media/media (nested week→day)audience-faithful final videocontent-index(304) + pour mp4s
Harness/harnessgoal→stages→gates diagramgoal.py STAGES/GATES
Brand Book/brand-bookthe operating standardbrand.json + tone-sheet

Templates family (tabbed — was scattered/orphaned)

  • Gallery /templates/preview — every composition as a hover thumbnail (the visual one). Nav "Templates" lands here.
  • Catalog /templates — the 262 comps + the 7-output matrix + per-slot deliverable specs (the data view). Every cell renders THROUGH SceneReel (the compositor); a cell's template is the aesthetic FAMILY it composes. A comp is ACTIVE (≥1 cell uses it as composition or family) or LIBRARY (built + available, unused) — that's why most are "0 cells": they're the library, not broken.
  • Wireframes /templates/wireframes — the per-cell scene-by-scene low-fi gameplan (the blueprint before render).
  • Needs /templates/needs — template coverage / gap report.

Calendar family (tabbed)

  • Week /calendar · Day /day · Channels /channels — the same 304 universe by week / by day / by channel.

The per-asset pipeline (how a post flows across surfaces)

GOAL.yaml → calendar (when/where) → storyboard hub (production truth: script·VO·scenes·render)
   → wireframes (scene-by-scene frames) → Templates (the comp/family it renders through)
   → render_status (MP4s on disk) → Media (audience-facing final, week→day) → distribution (Blotato·Resend·Twilio)

Conventions

  • One shell: lib.page() (header = traced logo lockup, never typed; 9-item nav; sub-nav tab bar; front↔back footer; responsive).
  • lib.subnav(group, active) is the second-level tab bar (groups: templates, calendar).
  • Naming is consistent: Templates (not "Model Catalog"/"Media Preview").
  • Spec of record: specs/office-ia/ (spec-kit).