CT7: the seat mesh-delivery: source, recovery, groups with acts, owed and the record events; table, recheck, close and the milestone events removed
Builds: design 47 G §304, §305 (verbs source with a branch, recovery; groups; events owed, pinned, freed, heads-replaced, record-opened, record-ended, filling, full, room, source-moved, recovery-merged; table, recheck, close and the three milestone events removed), §15, §162 (owed per repository and number, 7 days, 64 MiB), §431 (asks, turns and the five verbs of release 6, checks and settle leave the definition), §394 (recovery is of class act: the operator and sessions), §391 (class). Open, left as the dev branch built it: the state merges is kept (no line says the merge states of the gate go whole). Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
[
|
||||
{
|
||||
"name": "owed is said, a merge",
|
||||
"of": "event:owed",
|
||||
"subject": "mesh.seat.mesh-delivery.event.owed.novox/mesh-sdk.178",
|
||||
"given": {
|
||||
"id": "merge.feat=47-G.0123456789ab.novox/mesh-sdk#178",
|
||||
"act": "merge",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
"group": "feat/47-G",
|
||||
"ask": "merge.feat=47-G.0123456789ab",
|
||||
"said": "2026-11-09T20:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "owed is said, a status",
|
||||
"of": "event:owed",
|
||||
"subject": "mesh.seat.mesh-delivery.event.owed.novox/mesh-sdk.178",
|
||||
"given": {
|
||||
"id": "status.novox/mesh-sdk#178.aaaaaaaaaaaa.mesh/merge-gate",
|
||||
"act": "status",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
"context": "mesh/merge-gate",
|
||||
"state": "pending",
|
||||
"description": "waits for the operator's Approve",
|
||||
"target": "https://forge.test/x"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "pinned is said",
|
||||
"of": "event:pinned",
|
||||
"subject": "mesh.seat.mesh-delivery.event.pinned",
|
||||
"given": {
|
||||
"record": "47-G",
|
||||
"milestone": "47/G",
|
||||
"catalog": [
|
||||
3610
|
||||
],
|
||||
"assignment": [
|
||||
1204
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "freed is said",
|
||||
"of": "event:freed",
|
||||
"subject": "mesh.seat.mesh-delivery.event.freed",
|
||||
"given": {
|
||||
"record": "47-G",
|
||||
"milestone": "47/G",
|
||||
"catalog": [
|
||||
3610
|
||||
],
|
||||
"assignment": [
|
||||
1204
|
||||
],
|
||||
"why": "past its retention of 90 days"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "heads-replaced is said",
|
||||
"of": "event:heads-replaced",
|
||||
"subject": "mesh.seat.mesh-delivery.event.heads-replaced",
|
||||
"given": {
|
||||
"group": "feat/47-G",
|
||||
"heads": "0123456789ab",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
||||
"at": "2026-11-09T20:05:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "heads-replaced is said for a closed pull request",
|
||||
"of": "event:heads-replaced",
|
||||
"subject": "mesh.seat.mesh-delivery.event.heads-replaced",
|
||||
"given": {
|
||||
"group": "feat/47-G",
|
||||
"heads": "0123456789ab",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"closed": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "record-opened is said",
|
||||
"of": "event:record-opened",
|
||||
"subject": "mesh.seat.mesh-delivery.event.record-opened",
|
||||
"given": {
|
||||
"record": "47-G",
|
||||
"milestone": "47/G",
|
||||
"at": "2026-11-09T18:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "record-ended is said",
|
||||
"of": "event:record-ended",
|
||||
"subject": "mesh.seat.mesh-delivery.event.record-ended",
|
||||
"given": {
|
||||
"record": "47-G",
|
||||
"milestone": "47/G",
|
||||
"away": [
|
||||
{
|
||||
"node": "laptop",
|
||||
"since": "2026-11-09T18:00:00Z"
|
||||
}
|
||||
],
|
||||
"at": "2026-11-09T21:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "filling is said",
|
||||
"of": "event:filling",
|
||||
"subject": "mesh.seat.mesh-delivery.event.filling",
|
||||
"given": {
|
||||
"store": "records",
|
||||
"bytes": 650000000,
|
||||
"cap": 805306368
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "full is said",
|
||||
"of": "event:full",
|
||||
"subject": "mesh.seat.mesh-delivery.event.full",
|
||||
"given": {
|
||||
"store": "records",
|
||||
"bytes": 805306368,
|
||||
"cap": 805306368,
|
||||
"refused": "the next record"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "room is said",
|
||||
"of": "event:room",
|
||||
"subject": "mesh.seat.mesh-delivery.event.room",
|
||||
"given": {
|
||||
"store": "records",
|
||||
"bytes": 400000000,
|
||||
"cap": 805306368
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "main moved to its next source revision",
|
||||
"of": "event:source-moved",
|
||||
"subject": "mesh.seat.mesh-delivery.event.source-moved.main",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"branch": "main",
|
||||
"revision": 3590,
|
||||
"at": "2026-11-10T10:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "a recovery merged",
|
||||
"of": "event:recovery-merged",
|
||||
"subject": "mesh.seat.mesh-delivery.event.recovery-merged",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"repository": "novox/mesh-sdk",
|
||||
"commit": "0123456789abcdef0123456789abcdef01234567",
|
||||
"why": "the live delivery was broken",
|
||||
"by": "jochen",
|
||||
"at": "2026-11-11T10:00:00Z"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
"name": "the source revision",
|
||||
"of": "state:source/main",
|
||||
"of": "state:source/<branch>",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"group": "feat/registry",
|
||||
@@ -27,24 +27,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "an ask",
|
||||
"of": "state:asks/merge.<group>.<heads>",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"group": "feat/registry",
|
||||
"heads": [
|
||||
{
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 1,
|
||||
"head": "cccccccccccccccccccccccccccccccccccccccc"
|
||||
}
|
||||
],
|
||||
"ask": {
|
||||
"headline": "merge"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "an act owed",
|
||||
"of": "state:owed/<repository>.<number>.<head>.<act>",
|
||||
@@ -52,21 +34,5 @@
|
||||
"v": 1,
|
||||
"act": "view"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "a turn",
|
||||
"of": "state:turns/<repository>",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"repository": "novox/mesh-sdk",
|
||||
"waiting": [
|
||||
{
|
||||
"group": "feat/registry",
|
||||
"heads": "0123456789ab",
|
||||
"approved": "2026-11-05T10:00:00Z",
|
||||
"since": "2026-11-05T10:01:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
[
|
||||
{
|
||||
"name": "groups asks for one group",
|
||||
"of": "verb:groups.input",
|
||||
"given": {
|
||||
"group": "feat/47-G"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "groups answers a group with its members and acts",
|
||||
"of": "verb:groups.answer",
|
||||
"given": {
|
||||
"groups": [
|
||||
{
|
||||
"id": "feat/47-G",
|
||||
"state": "merging",
|
||||
"why": "novox/mesh-sdk#178 merges first",
|
||||
"check": "pass",
|
||||
"members": [
|
||||
{
|
||||
"id": "novox/mesh-sdk#178",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
"base": "main",
|
||||
"state": "merging",
|
||||
"open": true
|
||||
}
|
||||
],
|
||||
"acts": [
|
||||
{
|
||||
"owed": {
|
||||
"id": "merge.feat=47-G.0123456789ab.novox/mesh-sdk#178",
|
||||
"act": "merge",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
"group": "feat/47-G",
|
||||
"ask": "merge.feat=47-G.0123456789ab",
|
||||
"said": "2026-11-09T20:00:00Z"
|
||||
},
|
||||
"outcome": "performed",
|
||||
"at": "2026-11-09T20:01:00Z"
|
||||
},
|
||||
{
|
||||
"owed": {
|
||||
"id": "status.novox/mesh-sdk#178.aaaaaaaaaaaa.mesh/merge-gate",
|
||||
"act": "status",
|
||||
"repository": "novox/mesh-sdk",
|
||||
"number": 178,
|
||||
"head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
"context": "mesh/merge-gate",
|
||||
"state": "pending",
|
||||
"description": "waits for the operator's Approve",
|
||||
"target": "https://forge.test/x"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "groups answers a group it does not know with no groups",
|
||||
"of": "verb:groups.answer",
|
||||
"given": {}
|
||||
},
|
||||
{
|
||||
"name": "source is asked with nothing",
|
||||
"of": "verb:source.input",
|
||||
"given": {
|
||||
"branch": "main"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "source answers each repository's trunk and head",
|
||||
"of": "verb:source.answer",
|
||||
"given": {
|
||||
"group": "feat/47-G",
|
||||
"revision": 42,
|
||||
"repositories": [
|
||||
{
|
||||
"repository": "novox/mesh-sdk",
|
||||
"trunk": "main",
|
||||
"head": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
||||
}
|
||||
],
|
||||
"branch": "main"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "source answers an error when it cannot be read",
|
||||
"of": "verb:source.answer",
|
||||
"given": {
|
||||
"error": "source.main is not readable"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "recovery names a merge and why",
|
||||
"of": "verb:recovery.input",
|
||||
"given": {
|
||||
"repository": "novox/mesh-sdk",
|
||||
"commit": "0123456789abcdef0123456789abcdef01234567",
|
||||
"why": "the live delivery was broken"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "recovery answers the caller the runtime proved",
|
||||
"of": "verb:recovery.answer",
|
||||
"given": {
|
||||
"repository": "novox/mesh-sdk",
|
||||
"commit": "0123456789abcdef0123456789abcdef01234567",
|
||||
"recovery": true,
|
||||
"by": "jochen"
|
||||
}
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user