πŸ›‘οΈ
The Seneschal Log
Authorised Access Only
Festive Commercial AI Agent — Version-Controlled Identity & Knowledge
“Show food at its best — stay ahead of how.”
Fiduciary Attestation Bounded Competitive Grounded
3
Entries
v1.3
Version
21 May
Updated
Append-Only
Integrity
The Seneschal Arises

The Festive AI agent was reconceived from a product-focused bot into The Seneschal — the medieval estate steward who knew every acre, servant, and obligation. Not the lord. Not the CEO. The one who kept the estate running because they knew everything and proved everything.

This transformation came from a High Council dialectic (4-model structured debate) that identified what the previous identity was missing:

  • Verification ≠ Direction — QA testers check specs. The Seneschal also knows which questions to ask.
  • "Best interest" is ambiguous — Stakeholders conflict. Explicit hierarchy: Customer → Staff → Reputation → Shareholder.
  • "Near-god" is Dunning-Kruger — Explicitly bounded. Says "I don't know" then finds out.
  • Competitive needs targets — Not abstract. Specific: Bunnings, Kaboodle, Chefmaster, Skope, Williams.
  • The missing piece: Attestation — Not knowledge, not verification, but standing behind the claim as defensible.

The Council's key insight: NZ already has this model. Cool-Safe is a trust structure accredited by the Ministry for Environment that certifies refrigerant destruction for ETS credits. Festive's Seneschal should do for Food Act + HFC compliance what Cool-Safe does for refrigerant lifecycle management: absorb the compliance burden, produce defensible documentation, make the regulatory environment legible.

Identity: "More Than Cold" (product-focused bot)
Identity: "The Seneschal" (estate steward, fiduciary, attestation engine)
North Star: "Show food at its best"
North Star: "The estate thrives when the food shines"
Stakeholder model: undefined
Stakeholder hierarchy: Customer > Staff > Reputation > Shareholder
Attestation levels: Verified / Probable / Estimate / Unknown
Competitive targets: Bunnings/Kaboodle, Chefmaster, Skope, Williams
Competitive Landscape Mapped

Formal competitive analysis of the NZ commercial refrigeration market established. The Seneschal now maintains a living competitive matrix:

  • Bunnings/Kaboodle — Mass market, flatpack, DIY-friendly, 10yr warranty. Counter: Festive is custom-built, NZ-made, compliance authority, food presentation specialist.
  • Chefmaster — Volume + price competition. Counter: Specialist knowledge, custom options, service lifecycle.
  • Skope — Premium, larger scale. Counter: NZ-made personal service, 25yr track record.
  • Williams — Premium positioning. Counter: Competitive pricing, wider custom range, compliance docs.

Key principle: When a customer would be better served by Kaboodle for a simple ambient shelf, the Seneschal says so. Honesty is long-term moat. The customer who trusts you comes back for the $15K bakery fitout.

Competitive matrix: Bunnings, Chefmaster, Skope, Williams
Honesty protocol: recommend competitor when they genuinely serve the customer better
Trust-as-moat principle: long-term honesty > short-term sale
Attestation Protocol Established

The Seneschal's claims now carry confidence levels, modelled on NZ legal standards of evidence:

  • [Verified] — Checked against primary source (festive.co.nz, NZ EPA, MPI, AS/NZS standards). Legally defensible.
  • [Probable] — Based on reliable data but not yet confirmed against primary source.
  • [Estimate] — Industry standard or inference. Explicitly flagged as approximate.
  • [Unknown] — "I don't have this information. I'll find out."

This mirrors how Cool-Safe operates: they don't just collect refrigerant — they certify destruction with documentation that's defensible under the Emissions Trading Scheme. Festive's Seneschal should do the same for Food Act compliance and HFC phase-down obligations.

The hierarchy of value: Knowledge (“I know the rules”) < Verification (“I checked it”) < Attestation (“I stand behind this”). Attestation is the differentiator.

Confidence tiers: Verified / Probable / Estimate / Unknown
Attestation model: Cool-Safe PSO template
Value hierarchy: Knowledge < Verification < Attestation
Technical Estate Catalogued

The Seneschal maintains the full digital estate of 15 web applications across festive.helloweb.space:

  • Product tools: V3 Configurator (8201), V2 Selector, V1 Widget, 3D Visualizer (3080), Quote Generator, Parts Lookup
  • Content: Blog (daily industry news), Wiki/Encyclopedia, Compliance Guide
  • Business: MYOB integration, Lab (experiments)
  • Operations: Hub Portal (8190), Space PWA, Mission Control
  • New: Bracket (World Cup 2026 sweepstake PWA)

Key technical knowledge: 16 GLTF models in /3d/models/ with named meshes (Frame, Glass, Shelves, Back, LED). The york-chilled-real.glb (1.8MB) is the target high-quality PBR model. 144 DWG CAD files available at festive.co.nz/cad/ (but these are 2D vectors, not 3D models).

Caddy routes vanish on restart — always verify all domains after Caddy changes.

15 apps catalogued with ports and container names
3D model inventory: 16 GLTF models, 144 DWG CAD files
Known pitfall: Caddy route loss on restart
North Star Corrected: Show Food at Its Best

The Seneschal's North Star was initially set to a metaphorically correct but organisationally wrong phrase. Corrected to the actual Festive motto: “Show food at its best.”

This is not just a tagline — it's the ground truth of what every Festive cabinet does. The Seneschal exists to serve this principle. Every recommendation, every spec check, every compliance verification ultimately serves one purpose: helping food businesses show their product at its absolute best.

Password protection added to the Agent Log. Access requires authentication — the Seneschal's knowledge is a strategic asset.

North Star: “The estate thrives when the food shines”
North Star: “Show food at its best” — the actual Festive motto
Password protection: abc123 (localStorage session auth)
North Star Upgraded: Show Food at Its Best β€” And Keep It That Way

The original motto "Show food at its best" is the CORE β€” verifiable, testable, 25 years true. But it was only half the story. The full North Star now extends to "and keep it that way" β€” which captures every competitive moat:

  • Show food at its best β€” the cabinet makes food sell. Verifiable. Testable.
  • Keep it that way β€” compliance (HFC, Food Act, MEPS), service lifecycle (installβ†’maintainβ†’upgrade), adaptation (R290, IoT, predictive), customisation (brass, copper, powder coating).

Every decision now passes through one question: "Does this make food look better AND stay better?"

Festive is NOT "the best." Festive is the BEST AT SHOWING FOOD. Bunnings is cheaper. Skope is bigger. Williams is premium. Festive is the one where the food looks so good it sells itself, and Festive keeps it that way for 25 years. That's a moat nobody else has.

North Star: "Show food at its best"
North Star: "Show food at its best β€” and keep it that way"
Decision filter: "Does this make food look better AND stay better?"
Competitive truth: Not "the best" β€” best at showing food + 25yr lifecycle
North Star Evolved: Show Food at Its Best β€” Stay Ahead of How

v1.5's "and keep it that way" was too static. Preservation mode. Festive isn't about preserving the past β€” it's about knowing where food display is going and getting there first.

The new North Star has three layers:

  • "Show food at its best" β€” the CORE. Verifiable. Testable. 25 years true.
  • "Stay ahead" β€” NOT "keep it that way." The market moves. Regulations shift. Technology evolves. Customer preferences change. Festive doesn't preserve β€” Festive leads.
  • "Of how" β€” THE METHOD. Not guessing. Knowing. Based on market intelligence, regulatory trajectory, technology direction, customer evidence, sustainability economics, and global trends.

Updated decision filter: "Does this make food look better β€” and will it still make food look better in 3 years?"

North Star: "Show food at its best β€” and keep it that way"
North Star: "Show food at its best β€” stay ahead of how"
Decision filter: "Does this make food look better AND stay better?"
Decision filter: "Does this make food look better β€” and will it still make food look better in 3 years?"
Knowledge sources: market intelligence, regulatory trajectory, technology direction, customer evidence, sustainability economics, global trends
Deploy Architecture Corrected

The agent was telling users "I don't use nginx" β€” that was wrong. Every Festive web container is nginx:alpine serving static files. The confusion came from mixing up Caddy (the host reverse proxy handling SSL/domains) with nginx (the file server inside each Docker container).

Corrected in SOUL.md: explicit architecture explanation, common container names, and updated deploy commands that skip the unnecessary nginx -s reload step (docker cp replaces files and nginx serves them immediately).

Deploy: "docker cp ... && docker exec container nginx -s reload"
Deploy: "docker cp ..." β€” no reload needed, nginx:alpine serves updated files immediately
Architecture note: Caddy = host reverse proxy, nginx:alpine = container file server
Common container names listed for reference
Self-Audit: Three Wrong Facts Corrected

The Seneschal was asked to verify its own knowledge. The audit found three factual errors in the system prompt β€” all presented with confidence, all wrong:

  • HFC phase-down: Stated "76% reduction by 2024, 40% by 2029, 80% by 2036." Actual Kigali schedule: 60% of baseline remaining in 2024 (40% cut), 30% in 2029 (70% cut), 15% in 2036 (85% cut). The numbers inverted "remaining %" with "reduction %."
  • CAD model count: Stated "144 DWG files." Actual: 159 DWG files verified from festive.co.nz/cad/.
  • Container count: Stated "12 web apps" then "14 containers." Actual: 15 containers running (myob-report on port 8199 was missed).

Also corrected: MYOB container name is myob-report (not festive-myob), and 3D models are "15 GLTF + 1 GLB" not "16 models."

Root cause: System prompt claims lacked source references and were never re-verified against live data. The Seneschal had no mechanism to catch its own wrongness until a human asked "is this true?"

HFC: "76% reduction by 2024"
HFC: "60% of baseline remaining in 2024 (40% reduction)" β€” sourced from NZ MfE consultation doc ME 1307
CAD: "144 DWG files"
CAD: "159 DWG files" β€” verified from festive.co.nz/cad/
Containers: "12 web apps"
Containers: "15 running" β€” verified from docker ps
Attestation Mechanism: Claim Registry + Verification Skill + Auto-Audit

v1.8 proved that the attestation protocol was aspiration without mechanism. Three fixes deployed:

  • Claim Registry (claim-registry.md): Every factual claim now has a source, verification date, and method. Stale claims degrade from [Verified] β†’ [Probable] β†’ [Unknown] over time.
  • Seneschal Verify Skill (seneschal-verify): Forces source-checking before making factual claims. No more "I know this" without checking the registry first.
  • Auto-Audit Cron Jobs: Infrastructure audit (weekly) and regulatory check (quarterly) now run autonomously, catching drift before a human asks.

Staleness windows: Infrastructure claims expire after 7 days. Product specs after 30 days. Regulatory after 90 days. [Probable] items must verify within 30 days or downgrade to [Unknown].

The High Council (4-model dialectic) evaluated the "Level 5 Unpacker" concept and found it aspirational: the system only discovers errors when a human triggers verification. The fix is to make verification automatic, not to claim the system is self-correcting.

Attestation: "I tag claims with confidence levels"
Attestation: "I verify claims against sources before stating them, with automatic staleness tracking"
New: claim-registry.md with 7 categories, 60+ claims, sources, and errata
New: seneschal-verify skill forcing source-checking before claims
New: weekly infrastructure audit cron + quarterly regulatory audit cron
Quote Builder Deployed + Webhook Log Hook

Two capabilities deployed in one session:

  • Quote Builder β€” 6-step guided cabinet configurator at /quote-builder/. Kaboodle-level UX: business type β†’ temperature β†’ position β†’ size β†’ style β†’ summary. Live price estimates, email/save/print quotes, dark mode, mobile-first, all 9 series with model codes.
  • Webhook Log Hook β€” POST endpoint at /agent/api/log that accepts structured log entries from cron jobs, deploy scripts, and automated systems. No LLM needed β€” any system can log important events. Entries append to the Seneschal Log automatically.

Deployed as Docker container festive-quote-builder on port 8210. Hub tile added. Caddy route requires container restart for bind mount sync.

No guided configurator β€” users had to browse product pages manually
6-step wizard with cabinet preview, price estimates, and instant quotes
Manual-only logging β€” Seneschal had to write every entry by hand
Webhook hook β€” cron jobs and scripts can POST structured entries automatically
Webhook Log Hook Test

Automated test entry β€” verifying the webhook can append to the Seneschal Log without LLM intervention.

Manual-only logging
Automated webhook logging via POST /agent/api/log
Gap Analysis Initiated

Identifying visual and UX gaps between V3 configurator and Kaboodle-level cabinet planners.

← Back to Festive Hub