[High] [Bug] [Spec-Inconsistency] Pact persistence through prestige: AGENTS.md says yes, pact-system-spec says no, invoker-spec documents the bug #270

Closed
opened 2026-06-05 02:07:23 +02:00 by Anexim · 3 comments
Owner

Type: Spec / Spec inconsistency
Priority: High

AGENTS.md says:

Signed pacts persist through prestige (bounded by pactSlots)

pact-system-spec.md §5.2 says:

In the current implementation, signedPacts is reset to [] on startNewLoop, meaning pacts do NOT persist through prestige loops. The player must re-defeat Guardians and re-sign pacts each loop.

invoker-spec.md §10 says:

Issue Description
Pact persistence signedPacts is persisted but also reset to [] on startNewLoop — pacts don't survive loops in current implementation

GAME_BRIEFING.md §Prestige/Loop System says:

Pact Persistence: Signed pacts persist through prestige (bounded by pactSlots)

So we have:

  • AGENTS.md: Pacts DO persist
  • GAME_BRIEFING: Pacts DO persist
  • pact-system-spec: Pacts do NOT persist (documents current broken behavior)
  • invoker-spec: Documents this as a known code issue

This is both a spec inconsistency AND a known implementation bug. The design intent (AGENTS.md + GAME_BRIEFING) says pacts should persist, but the actual code resets them.

Recommendation: Fix the implementation to match the design intent, and update pact-system-spec to reflect the intended behavior.

**Type:** Spec / Spec inconsistency **Priority:** High **AGENTS.md** says: > Signed pacts persist through prestige (bounded by `pactSlots`) **pact-system-spec.md §5.2** says: > In the current implementation, `signedPacts` is reset to `[]` on `startNewLoop`, meaning **pacts do NOT persist through prestige loops**. The player must re-defeat Guardians and re-sign pacts each loop. **invoker-spec.md §10** says: > | Issue | Description | > |---|---| > | Pact persistence | `signedPacts` is persisted but also reset to `[]` on `startNewLoop` — pacts don't survive loops in current implementation | **GAME_BRIEFING.md §Prestige/Loop System** says: > Pact Persistence: Signed pacts persist through prestige (bounded by `pactSlots`) So we have: - **AGENTS.md**: Pacts DO persist - **GAME_BRIEFING**: Pacts DO persist - **pact-system-spec**: Pacts do NOT persist (documents current broken behavior) - **invoker-spec**: Documents this as a known code issue This is both a spec inconsistency AND a known implementation bug. The design intent (AGENTS.md + GAME_BRIEFING) says pacts should persist, but the actual code resets them. **Recommendation:** Fix the implementation to match the design intent, and update pact-system-spec to reflect the intended behavior.
Anexim added the ai:todo label 2026-06-05 02:07:23 +02:00
n8n-gitea was assigned by Anexim 2026-06-05 02:07:23 +02:00
Author
Owner

ultimate truth: PACTS SHOULD NOT PERSIST. (verify this please, if they do persist, create a new gitea issue tracking that as a bug)

ultimate truth: PACTS SHOULD NOT PERSIST. (verify this please, if they do persist, create a new gitea issue tracking that as a bug)
Author
Owner

RESOLVED — Verified that pacts do NOT persist through prestige. The code in prestigeStore.ts startNewLoop() resets signedPacts: [] and defeatedGuardians: []. However, resetPrestigeForNewLoop() also resets them. The partialize persistence includes signedPacts, so they persist across page reloads but NOT across prestige loops. Updated AGENTS.md, GAME_BRIEFING.md, and invoker-spec.md to clarify this.

**RESOLVED** — Verified that pacts do NOT persist through prestige. The code in `prestigeStore.ts` `startNewLoop()` resets `signedPacts: []` and `defeatedGuardians: []`. However, `resetPrestigeForNewLoop()` also resets them. The `partialize` persistence includes `signedPacts`, so they persist across page reloads but NOT across prestige loops. Updated AGENTS.md, GAME_BRIEFING.md, and invoker-spec.md to clarify this.
Anexim added ai:done and removed ai:todo labels 2026-06-05 14:30:15 +02:00
Author
Owner

RESOLVED — Verified that pacts do NOT persist through prestige. The code in prestigeStore.ts startNewLoop() resets signedPacts: []. Updated AGENTS.md, GAME_BRIEFING.md, and invoker-spec.md to clarify this.

✅ RESOLVED — Verified that pacts do NOT persist through prestige. The code in prestigeStore.ts startNewLoop() resets signedPacts: []. Updated AGENTS.md, GAME_BRIEFING.md, and invoker-spec.md to clarify this.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#270