create-agentic-workspace 0.18.0 → 0.18.1
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-agentic-workspace",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"description": "The pre-session bootstrap wizard for an Agentic Foundry workspace: declares (never grants) the permission floor, absorbs foundry-bootstrap.sh's out-of-session identity wiring, and scaffolds a seven-file schema-valid workspace. Zero dependencies, no lifecycle scripts, no telemetry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"marketplace_name": "agentic-foundry",
|
|
36
36
|
"marketplace_repo": "lukasrepublic/agentic-foundry",
|
|
37
37
|
"plugin_name": "foundry",
|
|
38
|
-
"plugin_version": "1.18.
|
|
38
|
+
"plugin_version": "1.18.1",
|
|
39
39
|
"pins_researched": "2026-08-02"
|
|
40
40
|
}
|
|
41
41
|
}
|
package/permission-floor.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"plugin_root_glob": "~/.claude/plugins/cache/*/foundry/*",
|
|
4
|
-
"generated_for_plugin_version": "1.18.
|
|
4
|
+
"generated_for_plugin_version": "1.18.1",
|
|
5
5
|
"entries": [
|
|
6
6
|
{
|
|
7
7
|
"rule": "Bash(~/.claude/plugins/cache/*/foundry/*/scripts/foundry-acceptance-contract-validate.py:*)",
|
|
@@ -28,6 +28,7 @@ export const AMENDMENTS_BLOCK = `${AMENDMENTS_HEADING}\n\n| date | what changed
|
|
|
28
28
|
// `spec-*.md`. A README or template without a normative region lands in `skipped`, never written.
|
|
29
29
|
const SPEC_BASENAME_RE = /\.md$/;
|
|
30
30
|
const CODE_FENCE_RE = /```[\s\S]*?```/g;
|
|
31
|
+
const HEADING_LINE_SRC = '^## Amendments[ \\t]*\\r?$';
|
|
31
32
|
|
|
32
33
|
/** The verdict `foundry-amend.py`'s amendments_section_ok gives: `present` when a `## Amendments`
|
|
33
34
|
* heading appears after the LAST normative close marker and outside any fenced code block;
|
|
@@ -39,8 +40,13 @@ export function classifySpec(text) {
|
|
|
39
40
|
const closeIdx = text.lastIndexOf(NORMATIVE_CLOSE);
|
|
40
41
|
if (closeIdx === -1) return 'no-marker';
|
|
41
42
|
const masked = text.replace(CODE_FENCE_RE, (m) => '\0'.repeat(m.length));
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
// v1.18.1: the heading must be a LINE of its own, searched from the marker onward. The first
|
|
44
|
+
// occurrence anywhere was used before, so a spec whose normative prose names "`## Amendments`"
|
|
45
|
+
// read `absent` although its real section followed the marker — and got another section appended
|
|
46
|
+
// on every updater run. Same line rule as the size ceiling's strip_amendments_section.
|
|
47
|
+
const heading = new RegExp(HEADING_LINE_SRC, 'gm');
|
|
48
|
+
heading.lastIndex = closeIdx;
|
|
49
|
+
if (heading.exec(masked)) return 'present';
|
|
44
50
|
// A heading BEFORE the marker does not count for amend either — the section must follow the
|
|
45
51
|
// normative region — so it is `absent` and the block is appended at the end of the file.
|
|
46
52
|
return 'absent';
|