Ask Daniel's CODEX · index

Grok Build Handoff — SynNA Master Phase Grid

Grok Build Handoff — SynNA Master Phase Grid

IN Lattice · Intelligent Netware · MA5 Council

FieldValue
Last updated2026-06-18 (evening session)
Carbon StewardDaniel Comp
Primary build partnerGrok Build (D:\04_WORK\Code\Lattice\_ChatUI)
Prior handoffsGate 1 · Gate 2 Codey
StatusGate 2 preview gap open · Gate 3 Syd scoped · Dashboard deferred post-Codex

Partnership model

Read this file for the ordered build grid. Gate history:

HandoffScope
Grok_Handoff_SynNA_Gate1_Panel.mdImages, watcher, assemble 2.5
Grok_Handoff_SynNA_Gate2_Codey.mdComposition, preview, fractomes
This fileMaster phase grid through publish + future dashboard

Architectural decisions (2026-06-18 evening — ratified by Daniel)

Gate 3 = Syd (Syndication proof)

ConcernOwnerNot owner
Tahoe layout, fractome, body HTMLCodey Gate 2Syd
NA record completeness, metadata, SQL contractSyd Gate 3Codey
Creative article proseArnieSyd
SEO summary at write timeArnie (Dachs heuristics)Syd LLM (default)

Syd is primarily a proof form tab, with an optional light chat persona. Ratification = Approve for SQL button, not LLM sign-off.

Summary — when and who

StageAction
Best timeImmediately after article body is written (Daniel's decades-long practice)
Default ownerArnie — emit SUMMARY alongside prose at article completion
Voice sourceBorrow Dachs white-hat SEO heuristics in Arnie augmentation (not a separate Syd voice)
Syd roleDisplay + last-chance edit in proof form; optional "tighten summary" chat shortcut

Do not make Syd the default summary author — that adds persona tuning cost with no pipeline gain.

References block — footer, not body

- https://scotomaville.com/syn-us?na={{NA_ID}} (or portal-specific variant) - [Portal:Keywords] token in link text where templates show it

Gate 3 UI

Future — Lattice dashboard (post-Codex)


State machine (full)

`` drafted → masters_pending → images_pending → images_approved → assembled → proof_draft → proof_approved → sql_ready → published → archived ``

StateSet byHuman gate
assembledsyn_assemble.pyCodey preview trusted
proof_draftSyd tab auto-populate
proof_approvedApprove for SQLDaniel
sql_readysyn_sql_build.pySSMS review
publishedSSMS commit + SFTP verifyDaniel

`na_record` block (Gate 3 packet contract)

Stored in status.yaml under na_record: (populated by assemble + Syd, edited in proof form):

```yaml na_record: title: ""

from SYN_PIPELINE; editable in proof

summary: ""

from Arnie SUMMARY; editable in proof

body_html_file: assembled.html

read-only pointer; not the DB references

references_html: ""

from template + {{NA_ID}}; editable in proof

categories: []

from Forrest brief; re-open cats picker

badge: ""

from Forrest brief

author_userid: 0

fixed from syn_config.publish.author_userid

author_display: ""

e.g. "Daniel Comp"

publish_at: ""

ISO

datetime; default now; future schedule OK expire_at: ""

optional; coupons/events

na_status: awaiting_approval

maps to NA module STATUS choices

na_id_reserved: 238

copied from syn_config.next_na_id at proof open

```

syn_config.yaml additions (Gate 3 onboarding)

``yaml publish: next_na_id: 238 author_userid: <fill> author_display: "Daniel Comp" references_template: "templates/syd/_references_li.html" syndication_url_pattern: "https://scotomaville.com/syn-us?na={na_id}" ``


Master phase grid

Rhythm every phase: backup → build → verify → update this handoff checkbox.

Backup convention: {file}_YYYYMMDD_HHMM.{ext} before touching app.py, index.html, syn_assemble.py, syn_pipeline.py.


PHASE 2

— Gate 2 completion (Codey) · before Gate 3

StepIDDeliverableTouchpointsVerifyBackup
2.12A~~Real article.md prose → Tahoe preview~~ SHIPPED 2026-06-18syn_assemble.py, _body_*.htmlPreview tab shows full headings + paragraphssyn_assemble_*
2.22BComposition sections in preview (CTA, video, accordion…)composition.sections[], templates/codey/sections/Section appears after Codey/chat write + reassemblesyn_assemble_, app_
2.32CFractome-specific Tahoe CSS token in MANIFESTMANIFEST.yaml, preview writerSwitch fractome → skin changessyn_assemble_*
2.42DGate 2 regression passall Gate 2 APIspython syn_pipeline.py --test-assemble; fractome switch curl; preview URL

Exit criteria: Daniel signs off Codey preview for what-outlives-me before any Gate 3 work.


PHASE 3

— Arnie SUMMARY + references template · parallel-friendly after 2A

StepIDDeliverableTouchpointsVerifyBackup
3.13A~~Arnie emits SUMMARY at article write~~ SHIPPED 2026-06-18arnie_output_contract.md, Arnie augmentation in app.pystatus.summary on assemble; fence in contractapp_*
3.23B~~Dachs SEO heuristics in Arnie augmentation~~ SHIPPED 2026-06-18app.py build_agent_augmentation("arnie")Augmentation block presentapp_*
3.33CReferences <li> template extracted from assetsCopy assets/_Template7_* block → .Scripts/templates/syd/_references_li.html{{NA_ID}} + [Portal:Keywords] tokens render correctly
3.43Dsyn_config.yaml publish onboarding fieldsnext_na_id, author_userid, syndication_url_patternConfig loads; NA_ID=238 in test render
3.53Ebuild_references_html(na_id, portal_keywords) helpernew fn in syn_assemble.py or syn_syd.pyOutput matches legacy form HTML for LI block

Exit criteria: Packet folder contains parseable summary; references HTML generates with na=238.


PHASE 4

— Gate 3 Syd proof shell · after 2D + 3E

StepIDDeliverableTouchpointsVerifyBackup
4.14Asyd in agent_order.json; sidebar Gate 3 card fas fa-rssindex.html, agent_order.jsonCard visible; icon correctindex_*, agent_order.json
4.24BGATE3_PROOF_TAB = 'syn-syd-proof' + ensureGate3ProofWindow()index.html (mirror Gate 2 tab pattern)Click Gate 3 → single tab, no sprawlindex_*
4.34CProof form UI (legacy NA form layout)index.html or syd_proof.html partialAll fields present per Daniel's specindex_*
4.44Dna_record populate APIGET /api/pipeline/{slug}/na-recordReturns merged title/summary/images/cats/badge/refsapp_*
4.54EPATCH /api/pipeline/{slug}/na-recordsaves edits → status.yamlEdit title in form → persistsapp_*
4.64FImage miniature row (4 crops + thumb)read status.imagesMatches Image #1 from legacy form
4.74GCategories popup re-usewire existing cats pickerChange categories in proof → brief/status updatedindex_, app_
4.84HAuthor read-only + pub/expiry pickers + STATUS dropdownform bindingsAuthor fixed; dates editable
4.94IState transition assembledproof_draft on first opensyn_pipeline.py or APIstatus.yaml state updatesapp_*

Exit criteria: Proof tab auto-fills from what-outlives-me; all fields editable except author; references show na=238.


PHASE 5

— Syd approve + SQL build (2.6) · after 4I

StepIDDeliverableTouchpointsVerifyBackup
5.15AApprove for SQL buttonPOST /api/pipeline/{slug}/approve-na-recordstate → proof_approvedapp_*
5.25BCompleteness validatorrequired fields check before approveMissing summary → blocked with messageapp_*
5.35Csyn_sql_build.py — fill Arnie_DB_Insert_v2.sqlnew script; crop byte sizes; N'...' escaping--test-sql-build round-tripsyn_sql_build.py
5.45Dstate → sql_ready; write {slug}_insert.sql to packetwatcher or API triggerSQL file exists; uncommitted transaction scaffold
5.55EOptional Syd chat persona (open proof, validate, tighten summary)app.py augmentation"open proof" shortcut worksapp_*

Exit criteria: SSMS-ready SQL for what-outlives-me; state sql_ready.


PHASE 6

— Publish (3.1) · after 5E

StepIDDeliverableTouchpointsVerifyBackup
6.16ASFTP upload (paramiko): 4 crops + dividersyn_publish.py; fill syn_config.publish host pathsHTTPS HEAD 200 + Content-Length match
6.26BManual SSMS commit → publishedhuman gateArticle live on fractome
6.36CBump next_na_id (+1); archive packet → published_rootsyn_config.yaml; watcherna=239 reserved for next article
6.46DFirst live publish sign-offDaniel + AngelinaEnd-to-end once

Exit criteria: One article published; next_na_id incremented; packet archived.


PHASE 7

— Codex post-publish KB · after first publish

StepIDDeliverableTouchpointsVerify
7.17ACodex ingest hook on published stateCodex SOUL + watcherKB entry created
7.27BCodex functions completeper Codex charterDaniel sign-off

Exit criteria: Published article lands in KB without manual copy.


PHASE 8

— Lattice dashboard · after Phase 7

StepIDDeliverableTouchpointsVerify
8.18AScan pipeline_root for non-published packetsnew dashboard viewAll in-flight slugs visible
8.28BPer-packet status chips: state, gate, fractome, datesUI gridMatches status.yaml
8.38CClick row → open agent/gate for that slugnavigationJump to Gate 1/2/3 for packet
8.48DDefault Lattice landing or /dashboard second pageroutingDaniel chooses at build time

Exit criteria: Unpublished articles visible at a glance; no kanban required for v1.


Field map — legacy form → pipeline source

Form fieldSourceGateEditable in proof
TITLESYN_PIPELINE / na_record.titleArnie → SydYes
SUMMARYArnie SUMMARYna_record.summaryArnie → SydYes
HTML BODYassembled.htmlCodeyView; edit via article/Codey
IMAGESstatus.images (4 crops + thumb)PicassoRead-only row
CATEGORIESForrest briefForrestYes (cats popup)
BADGEForrest briefForrestYes
REFERENCE_references_li.html + na_idSyd assembleYes (textarea)
AUTHORsyn_config.publish.author_*ConfigNo
PUBLICATION DATEdefault nowSydYes
EXPIRATION DATEemptySydYes
STATUSna_record.na_statusSydYes

Verification quick reference

```bash cd D:\04_WORK\Code\Lattice\_ChatUI\.Scripts python syn_pipeline.py --test-assemble python syn_pipeline.py --test-sql-build

after 5C

```

```powershell

Gate 3 proof API (after 4D)

Invoke-RestMethod http://127.0.0.1:8780/api/pipeline/what-outlives-me/na-record

Server restart

$pid8780 = (netstat -ano | findstr ":8780.*LISTENING" | ForEach-Object { ($_ -split '\s+')[-1] } | Select-Object -First 1) if ($pid8780) { taskkill /PID $pid8780 /F } cd D:\04_WORK\Code\Lattice\_ChatUI; python app.py ```

Live packet: D:\03_MAP\Syn_Pipeline\what-outlives-me\


Daniel's decisions (2026-06-18 evening — ratified)

| Decision |

1SUMMARY — separate === SUMMARY === fence below title, above body (Notepad convention)
2References — per-fractome variants in Lattice config at client onboarding
3STATUS — proof UI only; DB gets approved on syndication button. Before approve: assembled. Post-publish edits = website table update (future)
4next_na_id — start 239; track approved/published IDs to stay synced with DNN autoincrement
5Author — operator → DNN userid mapping in config. Daniel=3, Angelina=4, Steve=TBD at registration
6Dashboardnew page (/dashboard or dashboard.html): collapsed sidebar, agent links, IN8_200.png logo, title Lattice, subtitle FORMATION, no bottom bar

Shipped tonight (steps 3A + 2A)


Session continuity for Grok

  1. Read this file for phase order
  2. Read Gate 1/2 handoffs for regression context
  3. Build one step ID per session (e.g. 3A, 4B) — no drive-by refactors
  4. Backup before edit; verify before handoff update
  5. Check off step in this file when milestone ships

Written by Grok Build · 2026-06-18 evening · Gate 3 Syd scoped · Master grid through dashboard.

Ask Daniel's CODEX