You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
W109 — A Uniform That Makes Its Wearer More Employable
Lets a campaign author write an item or trait whose effect is on how the world regards the
player — a work uniform that makes its wearer more employable, a scandal that fades when it
expires — instead of only on their needs, attributes and skills. Reputation is something the
game already stores and already reads; until now nothing an author could write was able to
move it.
Done when
W109.1 A campaign whose Modifier.target is player.reputation.<key> passes Tier 1 validation, and the same campaign is rejected before this unit; the writable prefix set grows by exactly one entry and the calendar.committedTimeUnits exception is unchanged.
W109.2 Resolving player.reputation.<key> returns the stored base with every active modifier layered over it in §6.1's fixed add/subtract → multiply → set order, clamped to 0–100 — the same treatment player.skills.* already gets.
W109.3 When the effect expires, the same read returns the stored base again, unchanged; nothing was written back to state at any point.
W109.4 Resolving a reputation key the actor does not store returns no value rather than 0, matching the player.skills.* precedent line for line.
W109.5 A Modifier targeting any of the four formula-only paths still fails Tier 1 read_only_field; state both counts — targets newly accepted, and targets still rejected.
W109.6 The replay corpus is byte-identical: no committed fixture moves, because no existing campaign targets reputation.
Agent instructions
Run /slice W109.
Scope and criteria:design/30-slices.md § W109 @ 3f2121d
Signatures:§6.1's DerivedPath union and its writable/formula-only partition, §6.2's stored reputation record, §7.1's writable-target table, and 90-decisions.md's 2026-09-07 W105.1 entry.
Depends on: W108, for scheduling only — this is the first unit of 0.12 and must not land against the verified 0.11 candidate.
Out of scope here: travel-time effects — issue W41 Engine package consumer boundary smoke test #108's bicycle is deliberately left unamended and stays unexpressible after this unit; consuming reputation through CheckModifier.source/PerformanceFactor.source, neither of which is dispatched by any resolver today; authoring a campaign that uses the new target.
Stop conditions and procedure: .claude/commands/slice.md. Not restated here.
W109 — A Uniform That Makes Its Wearer More Employable
Lets a campaign author write an item or trait whose effect is on how the world regards the
player — a work uniform that makes its wearer more employable, a scandal that fades when it
expires — instead of only on their needs, attributes and skills. Reputation is something the
game already stores and already reads; until now nothing an author could write was able to
move it.
Done when
Modifier.targetisplayer.reputation.<key>passes Tier 1 validation, and the same campaign is rejected before this unit; the writable prefix set grows by exactly one entry and thecalendar.committedTimeUnitsexception is unchanged.player.reputation.<key>returns the stored base with every active modifier layered over it in §6.1's fixedadd/subtract→multiply→setorder, clamped to0–100— the same treatmentplayer.skills.*already gets.0, matching theplayer.skills.*precedent line for line.Modifiertargeting any of the four formula-only paths still fails Tier 1read_only_field; state both counts — targets newly accepted, and targets still rejected.Agent instructions
Run
/slice W109.design/30-slices.md§ W109 @3f2121dDerivedPathunion and its writable/formula-only partition, §6.2's storedreputationrecord, §7.1's writable-target table, and90-decisions.md's 2026-09-07W105.1entry.CheckModifier.source/PerformanceFactor.source, neither of which is dispatched by any resolver today; authoring a campaign that uses the new target.Stop conditions and procedure:
.claude/commands/slice.md. Not restated here.