Wiki: write safety merged (#349) - Decision Log from main, MCP Setup, ledger
On-Behalf-Of: cheyras
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Wiki: MCP Setup tool counts and annotations (#335, in review); ledger
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WT9mcMR4C42maYytEC8CRt
Wiki: battle simulator (@deckpal/sim) and deck_odds — architecture, MCP tools, decision log, contribution record
Architecture gains a section on packages/sim: engine as sole judge of
legality, state as data, one decision shape, seeded streams, cards keyed
by printed text, a search CPU that never reads hidden information, the
paired runner and honest report, and where it runs (POST /decks/simulate
inside the /api function, 25 s budget). MCP-Setup lists check_deck,
deck_odds and simulate_battles and states 27 tools once both ship.
Decision Log regenerated with the three 2026-10-10 decisions.
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs: record verified Deck-E approval and quantity fixes
Document chat apply/preview intent, preserve MCP behavior, and record the measured production outcomes, actual cost and verification limits for PRs 198–200.
On-Behalf-Of: @cheyras
Co-Authored-By: GPT-5.6 Sol <noreply@anthropic.com>
Co-Authored-By: GPT-5.6 Terra <noreply@anthropic.com>
Co-Authored-By: GPT-5.6 Luna <noreply@anthropic.com>
Document administration tiers, feature controls and AI usage
Synchronize the owner guide, architecture, security boundaries, UI conventions and decision record with app commit 8f44c4b6. Live release verification remains separate.
On-Behalf-Of: @cheyras
Co-Authored-By: GPT-6 <noreply@anthropic.com>
Document administration, roles and configurable AI credits
Add the owner guide and synchronize architecture, schema, frontend, MCP and decision records for DeckPal PR188. Production schema and payment verification remain pending.
On-Behalf-Of: @cheyras
Co-Authored-By: Codex in-session worker <noreply@anthropic.com>
docs: explain bounded price-history continuation
On-Behalf-Of: @cheyras
Co-Authored-By: Codex in-session worker <noreply@anthropic.com>
docs: record agent history and upcoming-set completion
Synchronize the shared tool surface and verified product behavior with the repository.
On-Behalf-Of: @cheyras
Co-Authored-By: GLM-5.2 <noreply@anthropic.com>
Co-Authored-By: Codex <noreply@anthropic.com>
docs: sync repository hygiene and security contracts
On-Behalf-Of: @cheyras
Co-Authored-By: GPT-6 Astra <noreply@anthropic.com>
Sync the wiki, and correct a page that described branch work as shipped
Brings Architecture, Decision Log and the Contribution Record in line with
the 2026-08-22 work on `decke-agent` (PR #74, open): the approval
`signature` bug that broke every approved write once
DECKE_APPROVAL_SECRET was set, the round trip extracted into a testable
module, the narration transform's move, search_cards no longer grounding
a guessed set id, and the chat model switch. Twelve DECISIONS entries
appended verbatim -- this page is a snapshot, not a rewrite.
The correction that mattered most was to our OWN previous sync. MCP Setup
said the 23 tools "are defined once, in the packages/agent-tools workspace
package". That package does not exist on origin/main. It is branch-only
work from PR #74, and the 2026-08-21 sync wrote it up as current
behaviour -- so a reader following that page would have gone looking in a
directory that is not there, and Deck-E in production has its own separate
tool set rather than a share of the MCP registry. The page now says what
is true today and names the pending PR without claiming it.
Everything new is marked as branch-only for the same reason. Nothing here
describes the collection-write path as working, because it does not: the
model will not call `log_cards` at all, which is recorded plainly rather
than omitted.
Two older pages get a banner instead of a rewrite. Data Layer and
Frontend Research §D sized a single-user Raspberry Pi deployment that the
project abandoned for Vercel + Supabase the same week they were finished.
Their measurements are captioned with the command that produced them, so
they are left as measured and the banner says which sections are still
evidence and which describe a plan that was dropped. A dated measurement
rewritten to a current number stops being evidence.
Also: removed an orphaned mid-file footer from Decision Log and the
Contribution Record, each left behind by an earlier sync that appended
below it, so both pages now carry exactly one and a reader scanning for
the date gets the right one. TypeScript's entry corrected to 7.0.2.
Home was checked against the files on disk and the AGENTS.md inventory
and left alone. Dex Data, Prior Art, Project Brief and UI Spec were
checked and deliberately not touched -- Project Brief is historical by
designation, and UI Spec already carries its own supersession notice.
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sync wiki with Deck-E rev 2: agent-tools extraction, entitlement/meter, data access, deep tier
Brings Architecture, MCP Setup, Decision Log and the Contribution Record in
line with the deckpal repo's Deck-E PRs 1-4 and 7 (the browser tool wire fix,
server-side entitlement + spend meter on /api/chat, the packages/agent-tools
extraction with two front-ends, Deck-E's lazy-RLS data access, and the
metered deep tier). Also corrects two staleness gaps found while syncing:
the MCP tool count (21 -> 23) and the Deck-E route's dev-only status, both
of which had drifted from the canonical repo docs before this session.
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Record the 2026-08-19 write-safety work
Root cause of the silent-success incident, idempotency, the mutation log and
revert, soft delete, and the product-id Mass Entry lines.
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rename the product to DeckPal
Follows the repo rename: DeckScout → DeckPal, deckscout.io → deckpal.app,
and the MCP server rotom-mcp → deckpal-mcp.
docs(wiki): sync the OAuth connect flow (issue #29) and the build-cache incident
MCP-Setup: rewritten to lead with the OAuth 2.1 "Connect" flow (works with
claude.ai, ChatGPT, Gemini, Claude Code, or any MCP-spec client) instead of
the manual personal-access-token flow, which is now documented as the
fallback for clients without MCP OAuth support. Added a note on the
token-in-URL + OAuth-attempt interaction that can surface as "unknown
client_id," and its fix.
Decision-Log: appended two entries from DECISIONS.md -- the OAuth 2.1 +
PKCE + dynamic-client-registration authorization server build (issue #29),
including the independent Opus review that caught a production-only RLS
bug and an open redirect before ship; and the stale-Vercel-build-cache
incident that 500'd every signed-in user right after, root-caused and
fixed within the hour.
Contribution-Record: one ledger line for the combined session.
Home: MCP Setup row now mentions the OAuth flow explicitly.
On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs(wiki): sync 2026-08-09/08-10 work — decisions, architecture, MCP setup page
Decision-Log: append 20 entries from DECISIONS.md (public catalog landing,
auth polish, cloud image tier x2, page-load perf, image_object split,
1,854-image audit, user_set_progress RLS fix, MCP multi-user, landing
imagery + libpq sslmode, identity-seam self-host regression, deck/battle-log
cloud fix + bug-reporter screenshot (#17), catalog refresh (#21), profile
photos (#14), scanner spawn-magick fix (#20), dark-inked set logos (#16),
deck-lane alias fix, catalog goes public), in DECISIONS.md order.
Architecture: corrects two stale facts against the live repo — scanner
accuracy was documented at ~99.6% (a superseded ImageMagick-era pipeline);
the shipped dhash8v3/bit(64)/Hamming-distance matcher measures 96.9% at
threshold 9. MCP was documented as parked (Wave 3); it is live and
multi-user at /mcp via per-user personal access tokens. Also documents the
cloud image tier (lazy Vercel-function fill into Supabase Storage),
image_object per-tier metadata, public catalog browsing for logged-out
visitors, profile photos, and the weekly catalog-refresh workflow — none of
which existed in the page before today.
Contribution-Record: 19 new ledger rows for today's sessions, reconstructed
from commit trailers. Also fixes three stray blank lines that were silently
breaking the GFM table into literal pipe-text on the live page from the
"Two cloud fixes" row onward — confirmed via a live fetch before the fix.
New page: MCP-Setup, built from DEPLOYMENT.md's token → connector → verify
→ revoke flow (the product's headline feature, previously undocumented on
the wiki), linked from Home's page index.
On-Behalf-Of: @cheyras