Commit graph

54 commits

Author SHA1 Message Date
1bdb6115e5 fix(workplans): qualify ad-hoc identifiers with the repository prefix
`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.

Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.

The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-28 00:28:23 +02:00
e3d5b33522 fix(workplans): declare records the hub already holds as workplans
Canon defines six work-record kinds — workplan, task, intake, decision,
engagement, register-entry. These files declared none of them (feature, runbook,
bug-report, extension-workplan, scorecard, session-note, adhoc) while the hub
held each as a workplan.

Selection is by 'type: workplan', so the mismatch made them invisible to any
projection: a forge-derived reset read their correct hub records as no longer
deriving and proposed retiring live work.

Where a file also lacked a canonical identifier, one was assigned continuing the
repository's sequence. Existing hub identifiers are preserved, so no record is
orphaned.

Refs STATE-WP-0083

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-26 10:29:34 +02:00
acd8daa019 docs(workplans): note how workplans must be structured to register
These workplans do not reach the State Hub. The scanner selects files by
'type: workplan', so files declaring something else are skipped silently —
not flagged as a gap, an error, or a warning, simply unseen.

Records what the hub expects and how registration works, so the cleanup can
be done deliberately when this repository is next picked up. No workplan file
has been rewritten.

Refs CUST-WP-0068-T04

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 22:22:52 +02:00
b5730f280b fix(workplans): adopt ADR-007 derived identifiers
Records absent from central carried random pre-ADR-007 identifiers minted by
the retired local hub, which C-06 refused as stale references. Deriving from
the canonical record id takes no identity from anything.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 19:30:13 +02:00
9458d0256a docs(agents): repoint remote State Hub URL to the in-cluster address
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.

Refs CUST-WP-0067-T07

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 00:21:05 +02:00
custodian-sync
3872ddc014 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-09:
  - update .custodian-brief.md for ground-game
2026-08-09 00:02:32 +02:00
custodian-sync
ce886e9c30 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 23:58:36 +02:00
custodian-sync
925aba1326 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 23:49:48 +02:00
custodian-sync
2bdc8eaa48 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 23:17:20 +02:00
custodian-sync
c9b847f626 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 21:07:06 +02:00
custodian-sync
487bdfec34 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 20:49:34 +02:00
custodian-sync
0afaadf279 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 20:26:48 +02:00
custodian-sync
89c978f774 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - GROUND-WP-0007-T05: progress → wait
2026-08-08 20:26:46 +02:00
custodian-sync
a27656dda7 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 15:57:46 +02:00
custodian-sync
38b40e334b chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 11:55:59 +02:00
custodian-sync
c25ac5f8b1 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - update .custodian-brief.md for ground-game
2026-08-08 11:39:53 +02:00
custodian-sync
8d0543e107 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-08:
  - GROUND-WP-0006-T05: progress → wait
2026-08-08 11:39:51 +02:00
custodian-sync
33d73b444a chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-07:
  - update .custodian-brief.md for ground-game
2026-08-07 23:48:13 +02:00
custodian-sync
9454f360a7 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-07:
  - update .custodian-brief.md for ground-game
2026-08-07 23:47:14 +02:00
custodian-sync
66f374db6e chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-07:
  - update .custodian-brief.md for ground-game
2026-08-07 23:02:34 +02:00
f653312e6e Regenerate WORK-RECORDS after the report move
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 22:18:58 +02:00
custodian-sync
1fcf354971 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-07:
  - update .custodian-brief.md for ground-game
2026-08-07 22:18:37 +02:00
92f52e777d Reports out of the workplan number space
The workplan list read as though GROUND-WP-0002, 0003 and 0005 each
existed twice. They did not: three inbound clay-borg finding reports were
filed in workplans/ borrowing the number of the workplan they bear on, and
each was registered in State Hub as a workplan.

A report is correspondence, not a unit of work. The three move to
reports/YYMMDD-<slug>.md with their own id space (GROUND-RPT-0001..0003),
keeping type: report, status: informational and the extends: link to the
workplan they relate to. Their state_hub_workstream_id bindings are
dropped and the hub registrations archived, so the hub's workplan list
matches the files.

Five workplans, one file per number.

AGENTS.md records the convention, since the reports arrive regularly and
nothing in the repo said where they go.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 22:18:18 +02:00
93ca4e807e Sync hub state for the 2026-08-07 attack-and-modes report
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:40:30 +02:00
custodian-sync
42d6bae25c chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-07:
  - update .custodian-brief.md for ground-game
2026-08-07 10:40:19 +02:00
fb2a7bf592 clay-borg report 2026-08-07: GR-E03/GR-E04 played to the end, and what ATTACK is worth
Closes GROUND-WP-0002 T04's open item. Both modes now play through, and
the reason they never had is clay-borg's: cb-play built every game as
SHARED GROUND and passed an empty setup patch, so two of the three shipped
modes were unreachable from the driver. Nothing about the modes was wrong.

All three produce different winners from identical play -- shared gives
all four seats, common gives the top personal scorer, coalitions gives the
best Bond network.

And they answer a question raised from play on 2026-08-06 that could not
be sent then for want of an artifact. Varying exactly one number --
ATTACK's rank in an otherwise identical policy, 200 games per cell --
ATTACK earns its place in NO mode: free but pointless in co-op, a cost at
six seats in semi-co-op, and roughly halving your chance of being among
the winners in coalitions.

The coalitions result has a mechanism the data confirms unprompted:
GR-A07 flips a Bond to a Rivalry, GR-E04 scores Bond networks, so
attacking destroys what scores -- and the attacking numbers in E04 are
IDENTICAL to E03's, which is what that predicts, since breaking every Bond
makes each seat a coalition of one.

Consequence: nobody who plays well attacks, so Stress never rises and
DARVO never arms -- zero times in 500 competent games. The report does not
call that a defect. DARVO is the pattern the game is about not falling
into, so a self-destructive ATTACK may be the design. The question put to
this repo is only whether the namesake mechanic being unreachable in
competent play, in all three modes, is intended.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 10:39:15 +02:00
4fa3b8ed8e Sync hub state for the difficulty report
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 19:25:46 +02:00
custodian-sync
a64bda6767 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-05:
  - update .custodian-brief.md for ground-game
2026-08-05 19:25:36 +02:00
edda653db2 clay-borg difficulty report 2026-08-05: a baseline, and a retraction
GROUND-WP-0005 has both tasks blocked on a measured difficulty baseline.
This is that baseline, with its confound stated rather than hidden.

It opens with a retraction. Earlier today clay-borg was going to report
that a greedy bot wins 200 of 200 games at five and six seats and the game
is too easy there -- which would have invited threshold changes. A
FirstLegal policy scores 0% on the identical deals where greedy scores
100%, and at two seats it beats greedy. Two unsophisticated agents span
the entire range, so a single policy's win rate is a statement about the
policy. clay-borg's adversarial review caught it before it left the repo.
Fifth wrong premise avoided, second stopped before sending.

What is reported instead is the WINNABLE FRACTION -- the proportion of
deals in which an exhaustive search finds a winning line in the final
round -- alongside a plural policy panel and the SPREAD between policies.
The spread is 71.7 to 100.0 percentage points, which is the direct
evidence for why the single-policy figure was meaningless.

Stated limits: the winnable figure is conditioned on greedy's play up to
the final round (searching from round 1 exceeded 2x10^6 nodes at two
seats), it is a lower bound, and budget-cut deals are excluded rather than
counted as losses.

No threshold changes are proposed. The confound is large enough that
clay-borg would rather this repo saw it than acted on it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 19:17:58 +02:00
6c3f6949e9 Sync hub state for clay-borg's 2026-08-05 finding report
fix-consistency C-06 registered the report file and wrote back its id.
Note: it is a report extending GROUND-WP-0002, not a workplan of its own
-- the hub now carries a workstream row for it because it lives under
workplans/. Harmless, but if report files become common they want their
own directory.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 15:24:11 +02:00
custodian-sync
c4eda9e1cd chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-05:
  - update .custodian-brief.md for ground-game
2026-08-05 15:23:53 +02:00
f6a2f75354 clay-borg finding report 2026-08-05: GR-E01 withdrawn, ten rulings acknowledged
Extends GROUND-WP-0002 as a file rather than an inbox message -- the
message of 2026-07-30 sat unread for four days, and the failure was that
nothing pointed at it.

clay-borg retracts "4/6/9 against 5/7/9, no dataset reconciles them."
With Problems.csv imported the measurement is 6/9/12 against 5/7/9 and the
scenario is renamed -unreachable- to -reachable-, confirming this repo's
2026-08-03 void ruling from the engine side. It was still queued to be
re-sent until clay-borg's adversarial review caught it.

Also acknowledges that all ten U-item rulings of 2026-08-03 had not been
collected by clay-borg -- its own survey still said "0 of 10 ruled" two
days later. No ruling is requested in this report.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 15:17:03 +02:00
custodian-sync
9fd27a51f4 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-04:
  - update .custodian-brief.md for ground-game
2026-08-04 00:26:20 +02:00
custodian-sync
51b6840559 chore(consistency): renormalize lifecycle state [auto]
Updated by fix-consistency on 2026-08-04:
  - workplan status: backlog → active
2026-08-04 00:26:18 +02:00
8886543aa0 Rule GR-S01 deal and close GROUND-WP-0004 threshold gap
Surface is always in play with hidden priorities 1..k, so available
points are 6/9/12 against Standard thresholds 5/7/9 — every seat band
is winnable. Encode the contract in edition rules, finish the workplan,
and park optional difficulty tiers as GROUND-WP-0005.
2026-08-04 00:21:13 +02:00
custodian-sync
b8ff288f3d chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-04:
  - update .custodian-brief.md for ground-game
2026-08-04 00:20:44 +02:00
custodian-sync
12546516f7 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-04:
  - update .custodian-brief.md for ground-game
2026-08-04 00:14:17 +02:00
7424430514 Sync hub state for GROUND-WP-0004
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 23:53:04 +02:00
custodian-sync
c16fc54bb7 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-03:
  - update .custodian-brief.md for ground-game
2026-08-03 23:52:55 +02:00
982c004daf GROUND-WP-0004: reopen GR-E01 -- the void ruling rests on a bad premise
GROUND-WP-0002 T03 voided gr-e01-threshold-unreachable-2p as a stand-in
artifact, on the basis that Problems.csv makes 12 points available. The
12 is wrong and clay-borg supplied it: twelve points exist in the FILE,
but GR-S01 deals 2/3/4 of the five Problems, so 4/6/9 are ever in play.
clay-borg asserted the 12 in its CB-WP-0021 declaration and corrected
itself one commit later, by which time the ruling had been made.

The gap survives the authoritative dataset and is now confirmed at the
table: the maintainer could not win any 3-player game on 2026-08-03.
Three independent forms of evidence -- play, the engine's own constants,
and both datasets agreeing -- plus a named reproduction.

T06 has been removed from GROUND-WP-0002, which is finished; a new task
does not belong in a closed workplan and the hub correctly refused to
register it there.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 23:52:12 +02:00
1ef0550cc4 GROUND-WP-0002 T06: the group cannot win below 5 seats
Confirmed by play and by reproduction. The maintainer could not win any
3-player game on 2026-08-03; the engine computes why from its own
constants: GR-S01 deals 2/3/4 Problems and GR-E01 asks for 5/7/9, so a
perfect group still loses at 2, 3 and 4 seats.

Not a dataset problem -- the stand-in gives 3/6/10 and this repo's
Problems.csv gives 4/6/9 against the same thresholds. No edition data
reconciles them.

Reproduction named so the ruling can be checked against it:
gd0001_group_success_is_unreachable_below_five_seats in clay-borg.

Three possibilities offered rather than one assumed: the deal is too
small, the thresholds are too high, or low seat counts are deliberately
not SHARED GROUND games -- in which case nothing currently says so and
the engine will keep offering an unwinnable game.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 23:50:14 +02:00
79af58b06d Sync hub IDs and work-record index for GROUND-WP-0003
fix-consistency registered the residual playtest workplan and tasks,
wrote state_hub IDs into the file, and regenerated WORK-RECORDS.md.
2026-08-03 21:43:48 +02:00
custodian-sync
b627d4dc06 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-03:
  - update .custodian-brief.md for ground-game
2026-08-03 21:43:33 +02:00
b3acf89afb Finish GROUND-WP-0002 rulings; hand off playtest residual as WP-0003
Record owner confirmations for SOLVE legality, U1–U10, the dataset
contract, and provisional scenarios (void gr-e01). Spawn GROUND-WP-0003
for full-game playtests of semi-coop and coalitions.
2026-08-03 21:43:19 +02:00
b29d2788a2 Sync hub state for GROUND-WP-0002
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 19:32:10 +02:00
custodian-sync
dfeb0ebe43 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-03:
  - update .custodian-brief.md for ground-game
2026-08-03 19:31:52 +02:00
0eea287099 GROUND-WP-0002 T01: the edition dataset is authoritative
Ruled by the maintainer 2026-08-03. editions/ground-darvo-r0/ is the
source of truth for Problem values, required solutions, visibility and
priority, and the engine must import it rather than invent them. This
unblocks clay-borg and very likely dissolves
gr-e01-threshold-unreachable-2p.

The three sub-questions were not ruled, so proposed defaults are recorded
rather than blocking the import on them: which columns are authoritative
vs presentational; that point_value and required_solution may NOT change
within r0; and that a version bump is the directory name, so it shows in
a diff and is never silent.

The second matters most: the engine hashes game state and a Problem's
value and required suit are IN that state. If they can change under a
fixed revision name, every recorded scenario hash in clay-borg silently
rots. Hence 'no' rather than 'probably not'.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 19:31:31 +02:00
6c2aaf89b0 GROUND-WP-0002: add T05, the ten underdetermined points
clay-borg messaged this repo on 2026-07-30 with ten rules points the
dataset does not decide (U1-U10), each simulated under a provisional
default, asking for confirm-or-correct per item. Four days later it was
still unread, because there was nowhere for it to land.

U2 (stress clamping), U6 (same-round Bond-Support vs DARVO step order)
and U8 (GROUND-OU cancelling an Attack before Protection is consumed)
are the three that change play -- each decides whether a DARVO stage
fires at all. The rest are edge cases or confirmations.

T03's six provisional scenarios are the scenarios that ENCODE these
defaults, so T05 comes first and T03 becomes the check that nothing was
missed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 18:56:40 +02:00
34d8bca271 Sync hub IDs and work-record index for GROUND-WP-0002
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 18:55:53 +02:00
custodian-sync
074c47650f chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-03:
  - update .custodian-brief.md for ground-game
2026-08-03 18:55:42 +02:00