Wiki Log

Append-only operational timeline for wiki maintenance tasks.

2026-04-24 — Mem0 and deterministic combat decision query

2026-04-24 — MVP prototype backlog query

  • Added MVP Prototype Backlog to capture the project-management path from current DM orchestration scaffolding to a playable SRD 2014 Dungeon Master prototype with persistent campaign memory.
  • Linked the backlog from DM Orchestration and Lorewright Wiki so future implementation tasks can ingest against the same prototype target.
  • Explicitly parked additional GRPO combat dataset refinement behind the first playable campaign/session loop.

2026-04-24 — Nightly wiki maintenance refresh

  • Refreshed Architecture, Server, Engine, Testing Strategy, and Rebuild Runbook to match the current CLI, rebuild, and GRPO/TL;DR pipeline surfaces.
  • Added the current rebuild response split (scope: "all" manifest vs scope: "entity" document) and the latest GRPO combat test coverage notes.
  • Recorded this maintenance pass so the next ingest can compare against the updated wiki state.

2026-04-20 — Nightly no-drift maintenance pass

  • Audited the current repository head against the wiki catalog and source-backed pages; no additional wiki drift was found since the prior nightly pass.
  • No wiki page edits were necessary for this run, and wiki/index.md remained accurate as-is.

2026-04-19 — Nightly no-drift maintenance pass

  • Audited the current repository head against the wiki catalog and source-backed pages; no additional wiki drift was found beyond the already-recorded 2026-04-18 maintenance entries.
  • No wiki page edits were necessary for this run, and wiki/index.md remained accurate as-is.

2026-04-19 — GRPO combat exact HP hard-fail ingest

  • Removed the enrichment fallback that promoted entities.hp_pct: 0 into {"current": 0, "max": null} HP records.
  • Added hard validation in GRPO enrichment/finalization so positional allies must have exact numeric FIREBALL {current, max} HP before an artifact is emitted.
  • Preserved normalized-name aliases through FIREBALL HP transfer and enrichment lookup so parenthetical or punctuation differences do not drop exact HP matches.
  • Updated <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> to document the fail-hard exact-HP invariant and refreshed regression coverage in tests/test_grpo_combat_enrichment.py.

2026-04-18 — GRPO combat downed-current HP ingest

  • Restored historical data/grpo_combat/examples.jsonl from commit 67d9dd0 and grpo_combat_situations.json from the parent of 12e2501 to recover the 36-example source mapping.
  • Confirmed recovered committed artifacts map all sampled example_id values but do not contain allied max HP; updated enrichment to emit exact downed current HP as {"current": 0, "max": null} instead of leaving allied positional combatants without an HP object.
  • Made CombatantHpRecord.max nullable so the schema distinguishes known current HP from unavailable max HP.
  • Repaired scripts/rehydrate_sample36_levels_hp_obstacles.py after legacy self-actor helper removal by localizing the level-summary helper logic it still needs.
  • Regenerated data/grpo_combat_sample36_levels_hp_obstacles.json, its manifest, and data/grpo_combat_sample36_levels_hp_obstacles_enriched.json; validation found 129 allied positional combatants, 0 missing HP records, and 129 explicit unknown max values.
  • Updated <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> and <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a> to document the exact downed-current HP invariant and historical recovery boundary.

2026-04-18 — GRPO combat exact HP ingest

  • Updated the GRPO combat rehydration contract so FIREBALL normalized actor hp strings are parsed into exact {current, max} HP records instead of relying on lossy entities.hp_pct values.
  • Updated enrichment merge behavior to consume exact rehydrated HP by combatant name for positional and non-positional combatants.
  • Added regression coverage for exact ally HP merge behavior and FIREBALL HP-string parsing.
  • Refreshed <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> and <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a> catalog text to document exact HP as the durable invariant.

2026-04-18 — GRPO legacy pipeline removal ingest

  • Removed legacy GRPO documentation for canonical migration and self-actor Phase 1/Phase 2 flows from <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a>; the page now documents only the 36-example enrichment workflow and its app DB dependency.
  • Updated <a href="/wiki/testing-strategy" class="wiki-link">Testing Strategy</a> GRPO coverage to the active tests/test_grpo_combat_enrichment.py module and removed references to deleted legacy test suites.
  • Updated <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a> catalog text for <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> so subsystem summary matches the enrichment-only implementation.
  • Ingest source alignment: removed retired source_paths references to deleted GRPO modules/tests and replaced them with enrichment-era paths.

2026-04-18 — Wiki link syntax documentation fix

  • Corrected wiki prose that described internal wiki links as single-bracket syntax; the FastAPI and Vercel renderers resolve double-bracket wiki-link syntax.
  • Reworded examples in <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a>, <a href="/wiki/decision-vercel-deployment" class="wiki-link">Decision: Vercel Wiki Deployment</a>, <a href="/wiki/glossary" class="wiki-link">Glossary</a>, and <a href="/wiki/vercel-runbook" class="wiki-link">Vercel Deployment Runbook</a> to avoid creating artificial broken wiki-link targets while preserving the documented contract.

2026-04-18 — GRPO combat FIREBALL ally HP transfer

  • Added a one-time FIREBALL HP transfer script that resolves the selected 36 GRPO combat examples against the public FIREBALL filtered corpus and copies exact allied HP only from normalized actor state.
  • Repaired data/grpo_combat_sample36_levels_hp_obstacles_enriched.json so all 129 allied positional combatants have numeric {current, max} HP and no ally uses the fake {"current": 0, "max": null} placeholder.
  • Added data/grpo_combat_sample36_levels_hp_obstacles_hp_transfer_report.json with per-ally source URLs, row lines, actor names, raw HP strings, and unmatched/ambiguous counts.
  • Updated GRPO Combat and Lorewright Wiki to document that entities.hp_pct is lossy and must not be interpreted as exact death/HP.

2026-04-16 — Wiki drift remediation pass (six-agent audit)

  • Ran six parallel wiki-audit passes (overview/decisions, engine/level-up, server/contracts, pipeline/data, GRPO/orchestration, and structural lint) and aggregated findings into one remediation set.
  • Fixed all invalid source_paths by updating stale path references from legacy engine/pipeline/* and removed deleted PLAN.md references from decision pages.
  • Updated stale @file: references and path-pattern text in <a href="/wiki/homebrew" class="wiki-link">Homebrew</a>, <a href="/wiki/progressions" class="wiki-link">Progressions</a>, and <a href="/wiki/data-pipeline" class="wiki-link">Data Pipeline</a> to match current module locations and subclass artifact layout.
  • Removed accidental broken-link syntax tokens used as prose examples (for wiki-link notation) in <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a>, <a href="/wiki/api-contracts" class="wiki-link">API Contracts</a>, <a href="/wiki/decision-vercel-deployment" class="wiki-link">Decision: Vercel Wiki Deployment</a>, <a href="/wiki/glossary" class="wiki-link">Glossary</a>, and <a href="/wiki/vercel-runbook" class="wiki-link">Vercel Deployment Runbook</a>.
  • Expanded <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> coverage to include the grpo-combat-enrich command and its source/test references.
  • Refreshed <a href="/wiki/testing-strategy" class="wiki-link">Testing Strategy</a> source references to include normalization coverage (tests/test_normalizers.py) and updated path wording to current module layout.

2026-04-15 — Visual Overhaul & Content Enrichment

  • Reworked site/app/globals.css to a dark brown minimalist color scheme: charcoal-brown background, warm off-white text, gold-amber accents, earth-tone badges. Added custom scrollbar styling and selection color.
  • Swapped highlight.js/styles/github.csshighlight.js/styles/github-dark.css in site/app/layout.tsx.
  • Enriched all 19 non-log wiki pages with Design Rationale, Assumptions & Constraints, and Conceptual Model sections via parallel subagent execution. All frontmatter preserved; existing wiki-links and @file: references intact.
  • Validated: npm --prefix site run build (20 pages exported), pytest tests/test_wiki_api.py (13 passed).

2026-07-18

  • Enriched<a href="/wiki/rebuild-runbook" class="wiki-link">Rebuild Runbook</a>, <a href="/wiki/testing-strategy" class="wiki-link">Testing Strategy</a>, and <a href="/wiki/vercel-runbook" class="wiki-link">Vercel Deployment Runbook</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Added deeper discussion of two-phase rebuild pipeline design, test-by-contract-boundary strategy, static export trade-offs, and the relationship between Vercel and FastAPI wiki surfaces. All existing content, wiki-links, and @file: references preserved.

  • Enriched <a href="/wiki/decision-wiki-maintenance" class="wiki-link">Decision: Wiki Maintenance Contract</a>, <a href="/wiki/decision-vercel-deployment" class="wiki-link">Decision: Vercel Wiki Deployment</a>, and <a href="/wiki/glossary" class="wiki-link">Glossary</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Expanded glossary term definitions from terse bullets into detailed subsections with context on why each term matters and how it connects to the broader system. Added discussion of alternative approaches considered (external wikis, GitHub Pages, client-side rendering) and dual-pipeline maintenance risks for Vercel deployment.

2026-07-17

  • Enriched<a href="/wiki/engine" class="wiki-link">Engine</a>, <a href="/wiki/server" class="wiki-link">Server</a>, <a href="/wiki/data-pipeline" class="wiki-link">Data Pipeline</a>, and <a href="/wiki/sqlite-schema" class="wiki-link">SQLite Schema</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Expanded terse bullet points into detailed paragraphs covering library-first engine architecture, thin routing layer design, two-phase ETL pipeline, JSON-column schema strategy, dual-database separation, merged view conventions, and three-layer conceptual models for engine and server subsystems.

2026-07-16

  • Enriched <a href="/wiki/progressions" class="wiki-link">Progressions</a>, <a href="/wiki/homebrew" class="wiki-link">Homebrew</a>, <a href="/wiki/dm-orchestration" class="wiki-link">DM Orchestration</a>, and <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Expanded terse bullet points into explanatory paragraphs covering generate-once/serve-many architecture, canonical-then-project homebrew authoring, protocol-based model abstraction, rule-based actor classification, two-pipeline GRPO architecture, and content-hash integrity.

2026-07-15

  • Enriched <a href="/wiki/api-contracts" class="wiki-link">API Contracts</a> and <a href="/wiki/srd-level-up" class="wiki-link">SRD Level-Up Contracts</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Expanded terse bullet points into explanatory paragraphs covering schema enforcement strategy, persistence layering, decision/replacement model evolution, transactional apply semantics, and the three-stage level-up state machine.

2026-04-16

  • Enriched <a href="/wiki/index" class="wiki-link">Lorewright Wiki</a>, <a href="/wiki/architecture" class="wiki-link">Architecture</a>, and <a href="/wiki/decisions" class="wiki-link">Decisions</a> with Design Rationale, Assumptions & Constraints, and Conceptual Model sections. Added deeper explanations of monorepo choice, schema backbone, immutable snapshots, frontend split rationale, decision record conventions, and wiki graph structure.

2026-04-15

  • First wiki-audit remediation pass: fixed <a href="/wiki/grpo-combat" class="wiki-link">GRPO Combat</a> frontmatter/schema compliance and added it to the catalog.
  • Clarified the two wiki surfaces across README.md, <a href="/wiki/architecture" class="wiki-link">Architecture</a>, <a href="/wiki/server" class="wiki-link">Server</a>, and <a href="/wiki/api-contracts" class="wiki-link">API Contracts</a>: public static wiki in site//Vercel versus FastAPI wiki API in server/wiki.py.
  • Updated <a href="/wiki/vercel-runbook" class="wiki-link">Vercel Deployment Runbook</a> to reflect the live public deployment while preserving redeploy and troubleshooting guidance.
  • Expanded summary-level coverage for spells, characters, snapshots, and decision-plan routes, and added concise TLDR, GRPO, frontend, and static-site validation notes to Testing Strategy.

2026-04-10

  • Added AGENTS.md with ingest, query, and lint workflow contracts.
  • Upgraded wiki pages to strict frontmatter schema (kind, status, summary, source_paths).
  • Added wiki categories for API contracts, runbooks, decisions, glossary, and DM orchestration.
  • Expanded server/wiki.py manifest metadata and added GET /api/wiki/health.
  • Added stale-source detection and backlink/orphan checks.

2026-04-11

  • Ingested SRD level-up schema hardening changes (typed validation codes, structured replacement decisions, dependency metadata, and canonical decision-plan v2 adapter).
  • Documented transactional apply semantics, subclass recomputation behavior, and feat/invocation prerequisite enforcement in SRD Level-Up Contracts.
  • Updated API Contracts, Engine, Server, Testing Strategy, and Lorewright Wiki to reflect expanded SRD level-up contracts and test matrix.
  • Fixed a runtime regression in engine/pipeline/srd_level_up.py where warlock Mystic Arcanum option filtering used dict-style metadata access (metadata.get) after metadata became a typed model, causing preview/apply crashes.

2026-04-14

  • Added Next.js static site in site/ for Vercel deployment of wiki pages.
  • Wiki links resolve to /wiki/{slug}, @file: refs link to GitHub blob on main.
  • Added vercel.json deployment configuration at repo root.
  • Added decision record decision-vercel-deployment.md.
  • Fixed Vercel build error ("No Next.js version detected") by removing "framework": "nextjs" from vercel.json; the key caused Vercel to scan the repo root for Next.js instead of site/.
  • Added trailingSlash: true to site/next.config.js to prevent 404s on direct page loads in static export mode.
  • Added highlight.js/styles/github.css import to site/app/layout.tsx for syntax highlighting colors.
  • Added wiki/vercel-runbook.md covering deployment state, DNS setup for madsenjake0.wiki, and troubleshooting procedures.
  • Replaced the legacy Vercel builds config with explicit top-level install/build/output settings so the monorepo static wiki deploy serves site/out consistently in both preview and production.

2026-04-15 — Code review fixes: optimistic locking, DELETE endpoint, feature-catalog & ASI/feat endpoints

  • Added optimistic locking to apply_character_level_up in engine/characters/store.py: UPDATE now includes AND current_level = ? guard with rollback and CharacterLevelUpConflictError on conflict (HTTP 409).
  • Added delete_character() store function and DELETE /api/characters/{character_id} route with cascading cleanup of snapshots and decision plans.
  • Added get_character_feature_catalog() store function and GET /api/characters/{character_id}/feature-catalog route that builds a feature description catalog from class/subclass progression JSON and SRD database.
  • Added get_character_asi_feat_choice() and swap_character_asi_feat() store functions with corresponding GET .../asi-feat-choice and POST .../asi-feat-swap routes.
  • New Pydantic schemas: FeatureDescription, CharacterProgressionAsiFeatChoiceRecord, CharacterProgressionAsiFeatSwapRequest in engine/characters/schemas.py.
  • Updated wiki/api-contracts.md and wiki/server.md to reflect new routes and optimistic locking behavior.