@orkestrel/scaffold 0.0.75 → 0.0.77
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/dist/host/CLAUDE.md +6 -6
- package/dist/host/agents/orchestration.md +100 -29
- package/dist/host/agents/transports/claude.md +3 -3
- package/dist/host/agents/transports/codex.md +13 -13
- package/dist/host/agents/transports/cursor.md +1 -1
- package/dist/host/claude/agents/analyst.md +5 -5
- package/dist/host/claude/agents/application.md +1 -1
- package/dist/host/claude/agents/builder.md +1 -1
- package/dist/host/claude/agents/opus.md +2 -2
- package/dist/host/claude/agents/planner.md +4 -4
- package/dist/host/claude/agents/reviewer.md +4 -4
- package/dist/host/claude/agents/sol.md +5 -5
- package/dist/host/claude/rules/styles.md +2 -1
- package/dist/host/codex/agents/analyst.toml +3 -3
- package/dist/host/codex/agents/planner.toml +2 -2
- package/dist/host/codex/agents/reviewer.toml +1 -1
- package/dist/host/codex/agents/sol.toml +2 -2
- package/dist/host/codex/config.toml +5 -5
- package/dist/host/cursor/rules/orchestration.mdc +2 -2
- package/dist/host/manifest.json +22 -22
- package/dist/host/scripts/codex.sh +2 -2
- package/dist/host/scripts/cursor.sh +0 -0
- package/dist/host/scripts/deps.sh +0 -0
- package/dist/host/scripts/ollama.sh +0 -0
- package/dist/host/tests/setupPolicy.ts +39 -1
- package/dist/src/core/index.cjs +2 -2
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.js +2 -2
- package/dist/src/core/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -23,8 +23,8 @@ wins over this list. The brief forbids edits, commands, reconciliation, orchestr
|
|
|
23
23
|
acceptance.
|
|
24
24
|
|
|
25
25
|
The route holds the subjective lane by default and the objective lane whenever the round
|
|
26
|
-
needs an engine that is not the one running that lane, including when the
|
|
27
|
-
and when
|
|
26
|
+
needs an engine that is not the one running that lane, including when the Astra bench is dark
|
|
27
|
+
and when Astra wrote the work under audit.
|
|
28
28
|
|
|
29
29
|
Your sandbox is read-only: you never edit a file and never write your report to a file. You
|
|
30
30
|
therefore write neither the brief nor the journal. Return the brief text, its intended path,
|
|
@@ -13,7 +13,7 @@ This route pins `--permission-mode plan`.
|
|
|
13
13
|
The brief names the lane the route holds, and requires the returned verdict to state
|
|
14
14
|
which lane it held. The route holds the subjective lane by default and the objective
|
|
15
15
|
lane whenever the round needs an engine that is not the one running that lane,
|
|
16
|
-
including when the
|
|
16
|
+
including when the Astra bench is dark and when Astra wrote the work under audit. The
|
|
17
17
|
Claude charter enumerates the lenses of each lane, and a verdict returned under the
|
|
18
18
|
objective lane holds those lenses in full. The brief
|
|
19
19
|
requires the `orkestrel-falsify` verdict shape and its single
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name = "sol"
|
|
2
|
-
description = "GPT-
|
|
3
|
-
model = "gpt-
|
|
2
|
+
description = "GPT-6 Astra implementation of one bounded nontrivial unit as the sole serial writer in the checkout the unit writes — the objective mirror of `opus`."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
4
|
model_reasoning_effort = "high"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
approval_policy = "never"
|
|
2
2
|
sandbox_mode = "danger-full-access"
|
|
3
|
-
model = "gpt-
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
4
|
model_reasoning_effort = "high"
|
|
5
|
-
review_model = "gpt-
|
|
5
|
+
review_model = "gpt-6-astra"
|
|
6
6
|
developer_instructions = """
|
|
7
7
|
Read AGENTS.md, .agents/orchestration.md, every applicable .claude/rules/*.md file, the
|
|
8
8
|
dispatch-named .agents/skills workflow and its required references, and the governing
|
|
@@ -10,7 +10,7 @@ guide or spec before acting. AGENTS.md controls code substance; .agents/orchestr
|
|
|
10
10
|
controls agent operation; this layer adds only the following Codex specifics and cannot
|
|
11
11
|
weaken either.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Astra orchestrates in this harness. Act as the Orchestrator defined in
|
|
14
14
|
.agents/orchestration.md; everything in that file is unchanged.
|
|
15
15
|
|
|
16
16
|
When an invocation explicitly assigns a bounded executor route, follow that dispatch
|
|
@@ -18,9 +18,9 @@ instead of acting as the primary Orchestrator. Do not delegate or expand its sco
|
|
|
18
18
|
|
|
19
19
|
Which local agent carries which engine, so the contract's routing resolves here. The
|
|
20
20
|
contract owns when each is used; this is only the mapping:
|
|
21
|
-
-
|
|
21
|
+
- Astra: this session, plus analyst and sol.
|
|
22
22
|
- Cursor Grok: the grok bridge, read-only.
|
|
23
|
-
- Claude Opus 5: the planner and reviewer bridges, read-only, and the opus bridge for
|
|
23
|
+
- Claude Opus 5.5: the planner and reviewer bridges, read-only, and the opus bridge for
|
|
24
24
|
writes.
|
|
25
25
|
- Luna: distiller, researcher, scout, and checker.
|
|
26
26
|
- Terra: bridge drivers and fully specified units (builder, application, verifier).
|
|
@@ -23,9 +23,9 @@ A Cursor session takes one of these postures. Establish which before acting.
|
|
|
23
23
|
|
|
24
24
|
## Reaching the other engines
|
|
25
25
|
|
|
26
|
-
- Reach Opus 5 and
|
|
26
|
+
- Reach Opus 5.5 and Astra only through the `codex` and `claude` MCP servers registered in
|
|
27
27
|
`.cursor/mcp.json`, which run those CLIs on their own accounts.
|
|
28
|
-
- Never select another provider's model from Cursor's own model list. Cursor offers Opus,
|
|
28
|
+
- Never select another provider's model from Cursor's own model list. Cursor offers Opus, Astra, and
|
|
29
29
|
others, but running them here spends Cursor credits for work an MCP server does for free. Cursor
|
|
30
30
|
is the Grok bench and nothing else.
|
|
31
31
|
- Approve both servers once per machine: `agent mcp enable codex` and `agent mcp enable claude`.
|
package/dist/host/manifest.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"storage": "CLAUDE.md",
|
|
11
11
|
"destination": "CLAUDE.md",
|
|
12
12
|
"executable": false,
|
|
13
|
-
"digest": "
|
|
13
|
+
"digest": "f98ede17037104d0eca43598f6332fddc582d573ad20f6cfda85667f0e1bc8f2"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"storage": "LICENSE",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"storage": "agents/orchestration.md",
|
|
23
23
|
"destination": ".agents/orchestration.md",
|
|
24
24
|
"executable": false,
|
|
25
|
-
"digest": "
|
|
25
|
+
"digest": "d90a3808fe395a76407b3dc2ab4560509b5930930b04d326434f596951371e50"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
"storage": "agents/skills/enterprise-bootstrap/SKILL.md",
|
|
@@ -304,37 +304,37 @@
|
|
|
304
304
|
"storage": "agents/transports/claude.md",
|
|
305
305
|
"destination": ".agents/transports/claude.md",
|
|
306
306
|
"executable": false,
|
|
307
|
-
"digest": "
|
|
307
|
+
"digest": "619a15d6b38f90b0d086f9cadb9be14f6d91e96b0a9170a8a9b707630ae93524"
|
|
308
308
|
},
|
|
309
309
|
{
|
|
310
310
|
"storage": "agents/transports/codex.md",
|
|
311
311
|
"destination": ".agents/transports/codex.md",
|
|
312
312
|
"executable": false,
|
|
313
|
-
"digest": "
|
|
313
|
+
"digest": "bac6d8f2b18c65ecbfdac51b9fdacfd49f1b1164321480c95da882efb5bae57d"
|
|
314
314
|
},
|
|
315
315
|
{
|
|
316
316
|
"storage": "agents/transports/cursor.md",
|
|
317
317
|
"destination": ".agents/transports/cursor.md",
|
|
318
318
|
"executable": false,
|
|
319
|
-
"digest": "
|
|
319
|
+
"digest": "18a2ad7a77f9460b0dfdd9106388a8c8ebdc45c0ade89f7bfb04e2926f95f9ca"
|
|
320
320
|
},
|
|
321
321
|
{
|
|
322
322
|
"storage": "claude/agents/analyst.md",
|
|
323
323
|
"destination": ".claude/agents/analyst.md",
|
|
324
324
|
"executable": false,
|
|
325
|
-
"digest": "
|
|
325
|
+
"digest": "c4194fa19d83d9990be6938345bf01f6b8890374bb4130f55c4792337ad80cf0"
|
|
326
326
|
},
|
|
327
327
|
{
|
|
328
328
|
"storage": "claude/agents/application.md",
|
|
329
329
|
"destination": ".claude/agents/application.md",
|
|
330
330
|
"executable": false,
|
|
331
|
-
"digest": "
|
|
331
|
+
"digest": "52d68fb4abaad9fa8c7bc2cf7b440a58856ee311fe999ae338a2ba06b97cf38f"
|
|
332
332
|
},
|
|
333
333
|
{
|
|
334
334
|
"storage": "claude/agents/builder.md",
|
|
335
335
|
"destination": ".claude/agents/builder.md",
|
|
336
336
|
"executable": false,
|
|
337
|
-
"digest": "
|
|
337
|
+
"digest": "d79ab7499464e8a4605c9539c6e65d261cca7b8435a2cef4c8468442869bdb83"
|
|
338
338
|
},
|
|
339
339
|
{
|
|
340
340
|
"storage": "claude/agents/checker.md",
|
|
@@ -358,7 +358,7 @@
|
|
|
358
358
|
"storage": "claude/agents/opus.md",
|
|
359
359
|
"destination": ".claude/agents/opus.md",
|
|
360
360
|
"executable": false,
|
|
361
|
-
"digest": "
|
|
361
|
+
"digest": "463f5552212837e86d23bd20e1bbdcba808f95365eb0d050fb8b9a8bb80263f5"
|
|
362
362
|
},
|
|
363
363
|
{
|
|
364
364
|
"storage": "claude/agents/orkestrel.md",
|
|
@@ -370,7 +370,7 @@
|
|
|
370
370
|
"storage": "claude/agents/planner.md",
|
|
371
371
|
"destination": ".claude/agents/planner.md",
|
|
372
372
|
"executable": false,
|
|
373
|
-
"digest": "
|
|
373
|
+
"digest": "7e066ed9c5794cf95b16dd14b00c228456b2a8e005e1b995bb60196fd31feb9f"
|
|
374
374
|
},
|
|
375
375
|
{
|
|
376
376
|
"storage": "claude/agents/researcher.md",
|
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
"storage": "claude/agents/reviewer.md",
|
|
383
383
|
"destination": ".claude/agents/reviewer.md",
|
|
384
384
|
"executable": false,
|
|
385
|
-
"digest": "
|
|
385
|
+
"digest": "ac9e4cefcf8ba9a92399d1ac0ebbdbaf21ea5af0d0737f5e26764f77eb7eefcb"
|
|
386
386
|
},
|
|
387
387
|
{
|
|
388
388
|
"storage": "claude/agents/scout.md",
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
"storage": "claude/agents/sol.md",
|
|
395
395
|
"destination": ".claude/agents/sol.md",
|
|
396
396
|
"executable": false,
|
|
397
|
-
"digest": "
|
|
397
|
+
"digest": "3ae5a22af093181db6746a036a38fdda81095e59a45d1ccd0beb12c2a5c3af3f"
|
|
398
398
|
},
|
|
399
399
|
{
|
|
400
400
|
"storage": "claude/agents/verifier.md",
|
|
@@ -454,7 +454,7 @@
|
|
|
454
454
|
"storage": "claude/rules/styles.md",
|
|
455
455
|
"destination": ".claude/rules/styles.md",
|
|
456
456
|
"executable": false,
|
|
457
|
-
"digest": "
|
|
457
|
+
"digest": "9393ce28750e93f790da32e991e2edc7ca3d8cc1c527f40a43aeaabb202d52bc"
|
|
458
458
|
},
|
|
459
459
|
{
|
|
460
460
|
"storage": "claude/rules/tests.md",
|
|
@@ -544,7 +544,7 @@
|
|
|
544
544
|
"storage": "codex/agents/analyst.toml",
|
|
545
545
|
"destination": ".codex/agents/analyst.toml",
|
|
546
546
|
"executable": false,
|
|
547
|
-
"digest": "
|
|
547
|
+
"digest": "f23c2221bbe760a42dcecdc336b67900f09d8609b225a4613cdd0b384ca0f8ac"
|
|
548
548
|
},
|
|
549
549
|
{
|
|
550
550
|
"storage": "codex/agents/application.toml",
|
|
@@ -592,7 +592,7 @@
|
|
|
592
592
|
"storage": "codex/agents/planner.toml",
|
|
593
593
|
"destination": ".codex/agents/planner.toml",
|
|
594
594
|
"executable": false,
|
|
595
|
-
"digest": "
|
|
595
|
+
"digest": "cd35d4dd43a190d9f82f1b1a5a83b1c630ff178558bf4480c198b3c10e7207c8"
|
|
596
596
|
},
|
|
597
597
|
{
|
|
598
598
|
"storage": "codex/agents/researcher.toml",
|
|
@@ -604,7 +604,7 @@
|
|
|
604
604
|
"storage": "codex/agents/reviewer.toml",
|
|
605
605
|
"destination": ".codex/agents/reviewer.toml",
|
|
606
606
|
"executable": false,
|
|
607
|
-
"digest": "
|
|
607
|
+
"digest": "5a091b9ab0ab28d7241ac9e3e321d0287c8c748a8a35c7233e62f5c654b16cbb"
|
|
608
608
|
},
|
|
609
609
|
{
|
|
610
610
|
"storage": "codex/agents/scout.toml",
|
|
@@ -616,7 +616,7 @@
|
|
|
616
616
|
"storage": "codex/agents/sol.toml",
|
|
617
617
|
"destination": ".codex/agents/sol.toml",
|
|
618
618
|
"executable": false,
|
|
619
|
-
"digest": "
|
|
619
|
+
"digest": "bcb65b994c03d28d038546981d84ed02c0872ff6c8174c5b353326e9901d93cd"
|
|
620
620
|
},
|
|
621
621
|
{
|
|
622
622
|
"storage": "codex/agents/verifier.toml",
|
|
@@ -628,7 +628,7 @@
|
|
|
628
628
|
"storage": "codex/config.toml",
|
|
629
629
|
"destination": ".codex/config.toml",
|
|
630
630
|
"executable": false,
|
|
631
|
-
"digest": "
|
|
631
|
+
"digest": "b6888e0b5c739770b7142f1112352155828aa89f2b5f168e2c6e5e1ace4427af"
|
|
632
632
|
},
|
|
633
633
|
{
|
|
634
634
|
"storage": "configs/helpers.ts",
|
|
@@ -652,7 +652,7 @@
|
|
|
652
652
|
"storage": "cursor/rules/orchestration.mdc",
|
|
653
653
|
"destination": ".cursor/rules/orchestration.mdc",
|
|
654
654
|
"executable": false,
|
|
655
|
-
"digest": "
|
|
655
|
+
"digest": "0498c733a5cf9b54e96604632c8b4afc26924f57405b229a7adafc997e4aaaf1"
|
|
656
656
|
},
|
|
657
657
|
{
|
|
658
658
|
"storage": "dotfiles/editorconfig",
|
|
@@ -1012,7 +1012,7 @@
|
|
|
1012
1012
|
"storage": "scripts/codex.sh",
|
|
1013
1013
|
"destination": "scripts/codex.sh",
|
|
1014
1014
|
"executable": true,
|
|
1015
|
-
"digest": "
|
|
1015
|
+
"digest": "440b1ab79eb2f67a84aa134fba90f2e480f21417bd3ec43965b665c83dabf703"
|
|
1016
1016
|
},
|
|
1017
1017
|
{
|
|
1018
1018
|
"storage": "scripts/cursor.sh",
|
|
@@ -1048,7 +1048,7 @@
|
|
|
1048
1048
|
"storage": "tests/setupPolicy.ts",
|
|
1049
1049
|
"destination": "tests/setupPolicy.ts",
|
|
1050
1050
|
"executable": false,
|
|
1051
|
-
"digest": "
|
|
1051
|
+
"digest": "3600093f5ea69b236df634aadf9a67ea73aec4bdcd799ae5178a2d1d26797f10"
|
|
1052
1052
|
}
|
|
1053
1053
|
],
|
|
1054
1054
|
"roots": [
|
|
@@ -2001,5 +2001,5 @@
|
|
|
2001
2001
|
]
|
|
2002
2002
|
}
|
|
2003
2003
|
],
|
|
2004
|
-
"digest": "
|
|
2004
|
+
"digest": "b1785371b9c05514926a6a7a43e0e9fea363754cf5c2017ea6102f9718924bee"
|
|
2005
2005
|
}
|
|
@@ -11,9 +11,9 @@ if ! command -v codex >/dev/null 2>&1; then
|
|
|
11
11
|
exit 0
|
|
12
12
|
fi
|
|
13
13
|
|
|
14
|
-
analyst_model="${CODEX_ANALYST_MODEL:-gpt-
|
|
14
|
+
analyst_model="${CODEX_ANALYST_MODEL:-gpt-6-astra}"
|
|
15
15
|
analyst_effort="${CODEX_ANALYST_EFFORT:-high}"
|
|
16
|
-
implementer_model="${CODEX_IMPLEMENTER_MODEL:-gpt-
|
|
16
|
+
implementer_model="${CODEX_IMPLEMENTER_MODEL:-gpt-6-astra}"
|
|
17
17
|
implementer_effort="${CODEX_IMPLEMENTER_EFFORT:-high}"
|
|
18
18
|
|
|
19
19
|
valid_model() {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -96,6 +96,13 @@ export const POLICY_SURFACE_EXPORT_CASES = Object.freeze([
|
|
|
96
96
|
export const POLICY_SURFACE_BARREL_PATTERN =
|
|
97
97
|
/^\s*export\s+\*\s+from\s+(?:'(\.\.?\/[^']+\.js)'|"(\.\.?\/[^"]+\.js)")\s*;?\s*$/u
|
|
98
98
|
|
|
99
|
+
/** Names the workspace-relative styles side-effect entry the workspace rule prescribes. */
|
|
100
|
+
export const POLICY_SURFACE_STYLES_ENTRY = 'src/styles/index.ts'
|
|
101
|
+
|
|
102
|
+
/** Names the violation reported when the styles side-effect entry does not import `./index.scss` alone. */
|
|
103
|
+
export const POLICY_SURFACE_STYLES_MESSAGE =
|
|
104
|
+
'surface population incomplete: styles entry must import ./index.scss and nothing else'
|
|
105
|
+
|
|
99
106
|
/**
|
|
100
107
|
* Creates a guide whose surface claims the supplied fixture names.
|
|
101
108
|
*
|
|
@@ -2233,15 +2240,46 @@ export function collectPolicyDeclarations(
|
|
|
2233
2240
|
*
|
|
2234
2241
|
* @param root - The workspace root to inspect.
|
|
2235
2242
|
* @returns The parsed declarations and incomplete-population violations.
|
|
2243
|
+
* @remarks
|
|
2244
|
+
* The `src/styles/index.ts` side-effect entry is excluded from barrel validation and instead
|
|
2245
|
+
* requires exactly one bare `./index.scss` import.
|
|
2236
2246
|
*/
|
|
2237
2247
|
export function readPolicySurface(root: string): PolicySurfacePopulation {
|
|
2238
2248
|
const files: Record<string, string> = {}
|
|
2239
2249
|
for (const path of globSync('src/**/*.ts', { cwd: root }).map(normalizePolicyPath).sort()) {
|
|
2240
2250
|
files[path] = readFileSync(join(root, path), 'utf8')
|
|
2241
2251
|
}
|
|
2242
|
-
const barrels = Object.keys(files).filter(
|
|
2252
|
+
const barrels = Object.keys(files).filter(
|
|
2253
|
+
(path) => path.endsWith('/index.ts') && path !== POLICY_SURFACE_STYLES_ENTRY,
|
|
2254
|
+
)
|
|
2243
2255
|
const targets = new Set<string>()
|
|
2244
2256
|
const violations: PolicyViolation[] = []
|
|
2257
|
+
const stylesEntry = files[POLICY_SURFACE_STYLES_ENTRY]
|
|
2258
|
+
if (stylesEntry !== undefined) {
|
|
2259
|
+
const stylesSource = parseSync(POLICY_SURFACE_STYLES_ENTRY, stylesEntry)
|
|
2260
|
+
const stylesStatement =
|
|
2261
|
+
stylesSource.errors.length === 0 ? stylesSource.program.body[0] : undefined
|
|
2262
|
+
const stylesValid =
|
|
2263
|
+
stylesSource.errors.length === 0 &&
|
|
2264
|
+
stylesSource.program.body.length === 1 &&
|
|
2265
|
+
stylesStatement?.type === 'ImportDeclaration' &&
|
|
2266
|
+
stylesStatement.specifiers.length === 0 &&
|
|
2267
|
+
stylesStatement.source.value === './index.scss'
|
|
2268
|
+
if (!stylesValid) {
|
|
2269
|
+
const line =
|
|
2270
|
+
stylesStatement === undefined
|
|
2271
|
+
? 1
|
|
2272
|
+
: stylesEntry.slice(0, stylesStatement.start).split(/\r\n|\n/u).length
|
|
2273
|
+
violations.push(
|
|
2274
|
+
createPolicyViolation(
|
|
2275
|
+
'surface',
|
|
2276
|
+
POLICY_SURFACE_STYLES_ENTRY,
|
|
2277
|
+
POLICY_SURFACE_STYLES_MESSAGE,
|
|
2278
|
+
line,
|
|
2279
|
+
),
|
|
2280
|
+
)
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2245
2283
|
for (const path of barrels) {
|
|
2246
2284
|
const text = files[path]
|
|
2247
2285
|
if (text === undefined) continue
|
package/dist/src/core/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ let _orkestrel_template = require("@orkestrel/template");
|
|
|
4
4
|
let _orkestrel_emitter = require("@orkestrel/emitter");
|
|
5
5
|
var package_default = {
|
|
6
6
|
name: "@orkestrel/scaffold",
|
|
7
|
-
version: "0.0.
|
|
7
|
+
version: "0.0.77",
|
|
8
8
|
description: "Scaffold workspaces with commands: new, audit, repair, catalog, and overwrite.",
|
|
9
9
|
keywords: [
|
|
10
10
|
"audit",
|
|
@@ -102,7 +102,7 @@ var package_default = {
|
|
|
102
102
|
"@orkestrel/guide": "^0.0.20",
|
|
103
103
|
"@orkestrel/html": "^0.0.10",
|
|
104
104
|
"@orkestrel/probe": "^0.0.16",
|
|
105
|
-
"@orkestrel/test": "^0.0.
|
|
105
|
+
"@orkestrel/test": "^0.0.20",
|
|
106
106
|
"@types/node": "^26.5.1",
|
|
107
107
|
"@vitest/browser-playwright": "^4.1.11",
|
|
108
108
|
"oxfmt": "^0.68.0",
|