12-slide PPTX (cover, overview, agenda, divider+flow per demo 1-4,
closing) generated by scripts/gen_ai_demo_ppt.py. Content sourced from
internal AI_DEMO_SCRIPT.pptx with internal-only info (accounts,
checklist, troubleshooting) removed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner directive 2026-07-16: verify the K1 band-hall numbering assumption.
Decisive evidence: 832 electrical circuit labels (P{panel}-{hall}{zone}-{no})
in the trench drawing, zero exceptions: band1=hall5(165) band2=hall4(168)
band3=hall3(168) band4=hall2(168) band5=hall1(163) => band n = hall (6-n).
The previous assumption (band n = hall n) was WRONG - only hall 3 matched by
luck. Mirror features in official JPGs (notch corners, exterior entrances)
independently agree.
- V67: delete all K1 measured rows (old mapping) and reseed with corrected
generators (trench 875, pillars, obstacles, K1 exits). Assembly strips the
V61 y-flip UPDATE (would double-flip) and the global obstacle DELETE
(would wipe K2 rows)
- Swap DWG-tab underlays hall1<->hall5, hall2<->hall4
- All 5 generators now canonically map band = 6 - hall
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Extract trench channels from original 1F site plan DWG (same origin as
hall frames) via streaming DXF tag parser that walks xref BLOCK contents
and resolves INSERT-chain transforms (missed by top-level iteration,
which caused the earlier 'no trench layer in K2' misjudgment).
- Power trunk plan (E3-59~69) used as cross-validation only: its util-line
xref is a cropped copy (x<=509.2m) with ~3.5m phase offset; angle
clusters (0/+-11/-12 deg) confirm frame rotation alignment.
- Generator tools/cad/extract_trench_seed_k2.py: frame rotation, horizontal
clip (Liang-Barsky), >=30m runs, 1.5m twin-line merge, 6m point sampling
(V61 convention). H6 9 / H7 H8 H9 H10 14 channels each, is_assumed=false.
- All halls H1-H10 now have measured trench (PLANNING R4 resolved).
- Docs: cad-extraction.md V66 section, OWNER_FEEDBACK log.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner directive 2026-07-15: extract pillars and make auto-placement avoid them.
- tools/cad/extract_pillar_seed.py: K1 pillars from CAD layer 4-COL-H
(cross-validated against official drawing dims 54/117m south wall pillars);
K2 H7-H10 from official drawing dimension annotations (one interior midline
pillar each, dia 2.3m); H6 not seeded (no source - recorded as limitation)
- V62: hall_pillar table + 74 seeds; also corrects V61 trench y-axis
(RT points were seeded in CAD-y without the top-of-drawing flip - now 63-y,
generator fixed as the canonical form)
- Engine: autoGenerate reserves pillar radius + 0.6m buffer, packing skips
overlapping cells; HallInfo.pillars contract extension (additive, NON_NULL)
- Canvas: structure layer renders pillar circles (editor passes hall pillars)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- G-01~G-09 all verified resolved against live code/endpoints/Flyway V50~V56
- remaining items are roadmap-only: document HWP render, AppQr iOS (EAS G3)
- UNDEVELOPED_BACKLOG: lead AI rescore + CMS AI translation marked shipped
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Records the AI feature slices, demo deck/sample-data registration,
Gemini free-tier quota blocker, and the confirmed CI/CD defect: a
3-day-old deploy_server.py process held port 9999 with pre-clean-build
kintex logic, shipping stale jars on two consecutive deploys. Fixed by
restarting zioinfo-deploy; jar-content verification added to the gate
checklist. This push also retriggers the pipeline on fresh code.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
10-slide PPTX (docs/demo/AI_DEMO_SCRIPT.pptx): env/accounts, 4 demo
flows with concrete input examples (NL auto-layout phrases, ReRoom
sample photo at /downloads/demo/sample_booth.jpg, NL-query/rules-chat
questions), pre-demo checklist (Gemini paid-tier action item) and
fallback troubleshooting. Hook commands in .claude/settings.json now
use forward slashes - backslashes were eaten by the sh hook runner.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
auction/visitor/marketing sample data + cms.css headers now state the
real wiring status (live API primary, samples are degraded fallback
only; G-04 SMTP follow-up noted). Mark hygiene item resolved in
GAP_AUDIT.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace hardcoded TENANTS array and disabled add button with live
GET/POST /api/admin/tenants via react-query: list states, create modal
(server-authoritative validation mirrored client-side), KxDataTable
search/sort/CSV. tenant.* i18n 17 keys x 4 locales (parity kept).
Mark G-01 resolved in GAP_AUDIT.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>