shapeup-sdlc 3.7.3 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/kernel/compile.mjs +12 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shapeup-sdlc-plugin",
|
|
3
3
|
"displayName": "ShapeUp SDLC Plugin",
|
|
4
|
-
"version": "3.7.
|
|
4
|
+
"version": "3.7.4",
|
|
5
5
|
"description": "Shape Up SDLC harness for Claude Code: shaping, intake, orient, scope-mapping, building (T0-verified, sandboxed, scope-contracted), evaluation and QA skills orchestrated by a tech-lead.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Liberty Nguyen",
|
package/kernel/compile.mjs
CHANGED
|
@@ -857,12 +857,22 @@ export async function cli(rawArgv) {
|
|
|
857
857
|
// receipts ledger EXISTING while carrying no row for the previous attempt: a lane that does not
|
|
858
858
|
// attest dispatches at all (no ledger on disk) cannot be judged by this rule and is waved
|
|
859
859
|
// through, so `--tiny`, a prose round loop and a standalone build are untouched.
|
|
860
|
-
|
|
860
|
+
//
|
|
861
|
+
// THE RUN KEY IS PART OF THE QUESTION. `attemptEvidence` matches a receipt to an attempt by
|
|
862
|
+
// `order_id` AND `run_id` — deliberately, so a previous run's receipt over the same slug cannot
|
|
863
|
+
// answer for this one — and this call used to omit the key. With no key nothing matches, so every
|
|
864
|
+
// previous attempt read "unattested" and every attempt 2 was refused as unanswered, on every run,
|
|
865
|
+
// with the receipt, the leg row and the result all on disk. Measured on a live run: one attempt
|
|
866
|
+
// spent of five, the census reading it spent, and the gate refusing to open the next one three
|
|
867
|
+
// times over. The ratchet was one attempt deep for as long as the gate has existed. A run with no
|
|
868
|
+
// readable receipt has no key to ask with and is waved through, like a lane with no ledger.
|
|
869
|
+
const myRunId = (scope?.scope_id && round && attempt > 1) ? readRunId(cwd, slug) : null;
|
|
870
|
+
if (scope?.scope_id && round && attempt > 1 && myRunId) {
|
|
861
871
|
const receiptsPath = dispatchReceipts(cwd, slug);
|
|
862
872
|
if (existsSync(receiptsPath)) {
|
|
863
873
|
const prev = attemptEvidence(
|
|
864
874
|
cwd, slug, scope.scope_id, round, attempt - 1,
|
|
865
|
-
readReceipts(receiptsPath), readLegs(legLedger(cwd, slug)),
|
|
875
|
+
readReceipts(receiptsPath), readLegs(legLedger(cwd, slug)), myRunId,
|
|
866
876
|
);
|
|
867
877
|
if (prev.state !== "spent") {
|
|
868
878
|
const why = prev.state === "unattested"
|
package/package.json
CHANGED