autonomous-sdlc-harness 0.1.0 → 0.4.0
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/README.md +4 -3
- package/dist/cli.js +0 -0
- package/dist/commands/docs.js +220 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/doctor.js +32 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.js +240 -64
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/registry.js +2 -0
- package/dist/commands/registry.js.map +1 -1
- package/dist/config/check.js +36 -9
- package/dist/config/check.js.map +1 -1
- package/dist/config/model.js +43 -1
- package/dist/config/model.js.map +1 -1
- package/dist/core/git.js +29 -0
- package/dist/core/git.js.map +1 -1
- package/dist/core/layerGapRemedy.js +3 -2
- package/dist/core/layerGapRemedy.js.map +1 -1
- package/dist/core/paths.js +22 -2
- package/dist/core/paths.js.map +1 -1
- package/dist/core/pluginIdentity.js +33 -0
- package/dist/core/pluginIdentity.js.map +1 -0
- package/dist/core/prompt.js +6 -2
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/report.js +9 -0
- package/dist/core/report.js.map +1 -1
- package/dist/core/writer.js +24 -5
- package/dist/core/writer.js.map +1 -1
- package/dist/detect/presets.js +35 -26
- package/dist/detect/presets.js.map +1 -1
- package/dist/detect/signals.js +13 -9
- package/dist/detect/signals.js.map +1 -1
- package/dist/doctor/checks.js +483 -38
- package/dist/doctor/checks.js.map +1 -1
- package/dist/generators/claudeContext.js +4 -5
- package/dist/generators/claudeContext.js.map +1 -1
- package/dist/generators/githubWorkflows.js +66 -0
- package/dist/generators/githubWorkflows.js.map +1 -0
- package/dist/generators/harnessConfig.js +13 -5
- package/dist/generators/harnessConfig.js.map +1 -1
- package/dist/generators/notifications.js +105 -19
- package/dist/generators/notifications.js.map +1 -1
- package/dist/generators/outerLoopScripts.js +30 -3
- package/dist/generators/outerLoopScripts.js.map +1 -1
- package/dist/generators/permissionProfile.js +152 -21
- package/dist/generators/permissionProfile.js.map +1 -1
- package/dist/generators/projectSettings.js +5 -15
- package/dist/generators/projectSettings.js.map +1 -1
- package/dist/generators/repoRoot.js +148 -25
- package/dist/generators/repoRoot.js.map +1 -1
- package/dist/generators/scripts.js +4 -1
- package/dist/generators/scripts.js.map +1 -1
- package/dist/generators/stateDir.js +9 -3
- package/dist/generators/stateDir.js.map +1 -1
- package/dist/machine/paths.js +19 -4
- package/dist/machine/paths.js.map +1 -1
- package/dist/machine/plugins.js +2 -1
- package/dist/machine/plugins.js.map +1 -1
- package/dist/remote/githubActions.js +86 -0
- package/dist/remote/githubActions.js.map +1 -0
- package/dist/retrieval/chunk.js +158 -0
- package/dist/retrieval/chunk.js.map +1 -0
- package/dist/retrieval/corpus.js +75 -0
- package/dist/retrieval/corpus.js.map +1 -0
- package/dist/retrieval/models.js +175 -0
- package/dist/retrieval/models.js.map +1 -0
- package/dist/retrieval/queryLog.js +70 -0
- package/dist/retrieval/queryLog.js.map +1 -0
- package/dist/retrieval/refresh.js +55 -0
- package/dist/retrieval/refresh.js.map +1 -0
- package/dist/retrieval/runtime.js +161 -0
- package/dist/retrieval/runtime.js.map +1 -0
- package/dist/retrieval/search.js +129 -0
- package/dist/retrieval/search.js.map +1 -0
- package/dist/retrieval/server.js +197 -0
- package/dist/retrieval/server.js.map +1 -0
- package/dist/retrieval/session.js +41 -0
- package/dist/retrieval/session.js.map +1 -0
- package/dist/retrieval/setup.js +121 -0
- package/dist/retrieval/setup.js.map +1 -0
- package/dist/retrieval/store.js +170 -0
- package/dist/retrieval/store.js.map +1 -0
- package/package.json +22 -3
- package/templates/README.md +3 -2
- package/templates/claude/CLAUDE.md +4 -4
- package/templates/claude/README.md +3 -1
- package/templates/claude/context/conventions.md +1 -1
- package/templates/claude/context/layer.md +1 -1
- package/templates/claude/push-notify.env.example +7 -2
- package/templates/claude/settings.autonomous.json +1 -1
- package/templates/claude/settings.autonomous.retrieval.json +9 -0
- package/templates/github/workflows/harness-resume.yml +124 -0
- package/templates/github/workflows/harness-run.yml +446 -0
- package/templates/repo/README.md +2 -0
- package/templates/repo/gitignore +6 -0
- package/templates/repo/gitignore.retrieval +2 -0
- package/templates/repo/mcp.retrieval.json +11 -0
- package/templates/scripts/README.md +1 -1
- package/templates/scripts/autonomous-notify.sh +10 -4
- package/templates/scripts/autonomous-watcher.sh +1445 -221
- package/templates/scripts/cleanup-merged-worktrees.sh +126 -8
- package/templates/scripts/docs-search-server.sh +64 -0
- package/templates/scripts/flow-walker.sh +629 -0
- package/templates/scripts/flows/task_plan_writing.graph.json +192 -0
- package/templates/scripts/lib/flow-walker-gates.sh +165 -0
- package/templates/scripts/lib/harness-run-lib.sh +452 -21
- package/templates/scripts/remote-run.sh +1785 -0
- package/templates/scripts/restart-watcher.sh +24 -3
- package/templates/scripts/run-test-suite.sh +182 -0
- package/templates/scripts/scratch-run.sh +2 -1
- package/templates/state-dir/README-root.md +1 -1
- package/templates/state-dir/autonomous_logs/README.md +1 -1
- package/templates/state-dir/business_parity_reviews/README.md +1 -1
- package/templates/state-dir/clarification_digests/README.md +1 -1
- package/templates/state-dir/clarifications/README.md +4 -4
- package/templates/state-dir/improvement_observations/README.md +2 -0
- package/templates/state-dir/scratch/README.md +1 -1
- package/templates/state-dir/test_fix_plan_reviews/README.md +9 -0
- package/templates/state-dir/test_fix_plans/README.md +9 -0
- package/templates/state-dir/test_fix_point_reviews/README.md +9 -0
- package/templates/state-dir/test_run_logs/README.md +11 -0
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
* Every field of a recorded review is optional (`config/model.ts`), so each is rendered only where
|
|
19
19
|
* it is present — no `undefined` token may reach an adopter.
|
|
20
20
|
*
|
|
21
|
-
* Both callers pass their
|
|
22
|
-
*
|
|
21
|
+
* Both callers pass their command spellings in rather than this module importing them: `init` and
|
|
22
|
+
* `doctor` each keep their own `CLI` and take `ANALYZE_COMMAND` from `core/pluginIdentity.ts`, and
|
|
23
|
+
* this module names neither.
|
|
23
24
|
* `init --reset-config` is named by neither arm: it rebuilds the whole file from a fresh detection,
|
|
24
25
|
* which is not a remedy for one uncovered directory.
|
|
25
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layerGapRemedy.js","sourceRoot":"","sources":["../../src/core/layerGapRemedy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"layerGapRemedy.js","sourceRoot":"","sources":["../../src/core/layerGapRemedy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAcH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsC;IAC1E,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,OAAO,uDAAuD,OAAO,KAAK,QAAQ,EAAE,CAAC;AACvF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,GAAG,oBAAoB,CAAC;IAEnD,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,yCAAyC,cAAc,qOAAqO,eAAe,IAAI,CAAC;IACzT,CAAC;IAED,OAAO,sDAAsD,eAAe,oFAAoF,cAAc,uUAAuU,CAAC;AACxf,CAAC"}
|
package/dist/core/paths.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The "derived at runtime" resolution class of `docs/config.md` §1, implemented once — path
|
|
3
|
-
* resolution and the package's own
|
|
3
|
+
* resolution, the package's own layout, and the one reader of the package's own manifest.
|
|
4
4
|
*
|
|
5
5
|
* **The rule this module exists to enforce: every path below is resolved on each run and is
|
|
6
6
|
* never written into a template.** A file that hardcodes one of these is wrong even when the
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
import { readFileSync } from 'node:fs';
|
|
18
18
|
import { homedir } from 'node:os';
|
|
19
19
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
20
|
-
import { EXIT, HarnessError } from './errors.js';
|
|
20
|
+
import { EXIT, HarnessError, internal } from './errors.js';
|
|
21
|
+
import { isJsonObject, readJsonFile } from './json.js';
|
|
21
22
|
/** `<work_root>` — the directory holding the repository, and therefore its sibling worktrees. */
|
|
22
23
|
export function workRoot(repoRoot) {
|
|
23
24
|
return dirname(repoRoot);
|
|
@@ -102,6 +103,25 @@ const PACKAGE_ROOT = resolve(import.meta.dirname, '..', '..');
|
|
|
102
103
|
export function packageRoot() {
|
|
103
104
|
return PACKAGE_ROOT;
|
|
104
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* This package's own manifest, which a packaging fault alone can make unreadable. The one reader
|
|
108
|
+
* of it, shared here because three areas need it: `retrieval/` (the runtime check, the peer set
|
|
109
|
+
* and the runtime install's pin), the `docs` command and the workflow generator's version pin.
|
|
110
|
+
*/
|
|
111
|
+
export function ownManifest() {
|
|
112
|
+
const manifestPath = join(packageRoot(), 'package.json');
|
|
113
|
+
const manifest = readJsonFile(manifestPath);
|
|
114
|
+
if (!isJsonObject(manifest))
|
|
115
|
+
throw internal(`this CLI's own manifest could not be read at ${manifestPath}`);
|
|
116
|
+
return manifest;
|
|
117
|
+
}
|
|
118
|
+
/** A string field of this package's own manifest, read through {@link ownManifest}. */
|
|
119
|
+
export function ownManifestString(key) {
|
|
120
|
+
const value = ownManifest()[key];
|
|
121
|
+
if (typeof value !== 'string' || value === '')
|
|
122
|
+
throw internal(`this CLI's own manifest carries no ${key}`);
|
|
123
|
+
return value;
|
|
124
|
+
}
|
|
105
125
|
/** The generator templates shipped with the package. */
|
|
106
126
|
export function templatesDir() {
|
|
107
127
|
return join(PACKAGE_ROOT, 'templates');
|
package/dist/core/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAExF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plugin's name, and every plugin-qualified command spelling this CLI prints.
|
|
3
|
+
*
|
|
4
|
+
* **The rule this module exists to enforce: the plugin's name and every plugin-qualified command
|
|
5
|
+
* spelling the CLI prints are built here, once.** `init`'s closing pointer, `doctor`'s remedies, the
|
|
6
|
+
* conventions-stub footers and the detection table's `flat` warning all name the analyze command; a
|
|
7
|
+
* private copy in any one of them could be respelled without the others, and an adopter would be told
|
|
8
|
+
* two different commands with no compile error and no test to say so.
|
|
9
|
+
*
|
|
10
|
+
* It sits on the shared floor rather than in `generators/projectSettings.ts`, which writes the
|
|
11
|
+
* `enabledPlugins` key from {@link PLUGIN_NAME}, because `detect/` needs the spelling too and
|
|
12
|
+
* `generators/` already depends on `detect/`.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* The plugin's name, mirroring `plugin/.claude-plugin/plugin.json`'s `name`.
|
|
16
|
+
*
|
|
17
|
+
* A second spelling of the manifest's name is the failure this constant exists to prevent: the
|
|
18
|
+
* `enabledPlugins` composite `generators/projectSettings.ts` builds from it is matched against the
|
|
19
|
+
* installed plugin by string, so a rename that reaches only one of the two files produces a settings
|
|
20
|
+
* file that is valid, committed, and enables nothing.
|
|
21
|
+
*
|
|
22
|
+
* `generators/claudeContext.ts` renders it into the task-offer template's `{{pluginName}}` for the
|
|
23
|
+
* same reason: the `<plugin>:branch-prompt` skill that file's answer-1 path invokes is that name, and
|
|
24
|
+
* a shipped literal there would survive a rename in every adopter's checkout with nothing reporting it.
|
|
25
|
+
*/
|
|
26
|
+
export const PLUGIN_NAME = 'autonomous-sdlc-harness';
|
|
27
|
+
/**
|
|
28
|
+
* The analyze command as every line addressing the adopter names it, plugin-qualified.
|
|
29
|
+
*
|
|
30
|
+
* `docs/development.md` → `## 5. Verifying a change` → gate 6 records the spelling rule.
|
|
31
|
+
*/
|
|
32
|
+
export const ANALYZE_COMMAND = `/${PLUGIN_NAME}:harness-analyze`;
|
|
33
|
+
//# sourceMappingURL=pluginIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginIdentity.js","sourceRoot":"","sources":["../../src/core/pluginIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,WAAW,kBAAkB,CAAC"}
|
package/dist/core/prompt.js
CHANGED
|
@@ -42,8 +42,12 @@ import { isatty } from 'node:tty';
|
|
|
42
42
|
const STDIN_FD = 0;
|
|
43
43
|
/** Standard output, named as a descriptor for the same reason: the probe below must not open a stream. */
|
|
44
44
|
const STDOUT_FD = 1;
|
|
45
|
-
/**
|
|
46
|
-
|
|
45
|
+
/**
|
|
46
|
+
* How many times an unrecognised answer is re-asked before asking stops. `askYesNo` then takes
|
|
47
|
+
* its default; `init`'s push-destination re-ask, which loops over {@link askLine} with this same
|
|
48
|
+
* bound so the two loops cannot drift apart, hands the last answer on for its generator to refuse.
|
|
49
|
+
*/
|
|
50
|
+
export const REPROMPT_LIMIT = 2;
|
|
47
51
|
/** How long, and how many times, an `EAGAIN` read is retried before input is given up on. */
|
|
48
52
|
const EAGAIN_RETRY_LIMIT = 100;
|
|
49
53
|
const EAGAIN_RETRY_MS = 10;
|
package/dist/core/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAmClC,gGAAgG;AAChG,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,0GAA0G;AAC1G,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/core/report.js
CHANGED
|
@@ -6,6 +6,15 @@
|
|
|
6
6
|
* engine's action log and the human-readable log are the same log, and the output is
|
|
7
7
|
* **plain ASCII** — no colour escapes and no emoji — so a test can diff it verbatim.
|
|
8
8
|
*
|
|
9
|
+
* **One named exception: `docs serve`.** While that sub-verb runs, the process's stdout belongs to
|
|
10
|
+
* the MCP stdio transport `cli/src/retrieval/server.ts` → `serveDocs` starts, and to nothing else;
|
|
11
|
+
* that module is the **one** place in the package where a transport writes to stdout. This
|
|
12
|
+
* `Reporter` still carries every narration and warning line of the sub-verb, on stderr only
|
|
13
|
+
* (`warn` / `fail`). `--quiet` and the plain-ASCII guarantee do not apply to the protocol frames,
|
|
14
|
+
* which are JSON-RPC rather than output a test diffs. `.claude/context/conventions.md` →
|
|
15
|
+
* `## Output, logging and errors` does not yet record this exception; it is raised for a supervised
|
|
16
|
+
* amendment.
|
|
17
|
+
*
|
|
9
18
|
* Markers: `+` something was written (or would be), `~` an existing file was merged into,
|
|
10
19
|
* `=` an existing file was left as it stood, `!` needs attention (a warning or a failure).
|
|
11
20
|
*
|
package/dist/core/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/core/report.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/core/report.ts"],"names":[],"mappings":"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"}
|
package/dist/core/writer.js
CHANGED
|
@@ -9,12 +9,29 @@
|
|
|
9
9
|
* file it is writing out of the table below; it does not invent one, and it never calls `fs`
|
|
10
10
|
* itself.
|
|
11
11
|
*
|
|
12
|
-
* **
|
|
12
|
+
* **Three writes are deliberately outside this engine.** The first is machine state rather than an
|
|
13
13
|
* adopter's file: the repository registry `machine/registry.ts` owns, which `daemon install`
|
|
14
|
-
* rewrites in place. Its header states why none of the four policies below fits it. The
|
|
14
|
+
* rewrites in place. Its header states why none of the four policies below fits it. The
|
|
15
|
+
* docs-retrieval runtime and model cache under `machineCacheDir()/retrieval/` are machine state of
|
|
16
|
+
* the same class, outside the repository, with both paths owned by `cli/src/retrieval/runtime.ts`:
|
|
17
|
+
* the runtime installation is created by `cli/src/retrieval/setup.ts` → `setUpRuntime` through
|
|
18
|
+
* `npm`, and the model cache is written by `cli/src/retrieval/models.ts` → `fetchModels` through
|
|
19
|
+
* Transformers.js, in the `docs fetch-models` child that `setup.ts` → `setUpModels` spawns. The daemon
|
|
15
20
|
* unit and the push-notification settings file *are* on a plan, under `allowOutsideRepo` — they
|
|
16
21
|
* are create-if-absent artifacts an operator goes on to edit, which is exactly what this engine
|
|
17
|
-
* is for.
|
|
22
|
+
* is for. The second is an exception to this engine's monopoly on writing into an adopting
|
|
23
|
+
* repository: the per-checkout docs-retrieval index under `<stateDir>/docs_index/`
|
|
24
|
+
* (`INDEX_DIR_NAME`), a derived, gitignored, always-rebuildable cache that
|
|
25
|
+
* `cli/src/retrieval/store.ts` → `openPgliteStore` creates and PGlite persists into at query time,
|
|
26
|
+
* never an `init` artifact. `cli/src/retrieval/store.ts` is the **one** module that makes that write
|
|
27
|
+
* and `<stateDir>/docs_index/` the **one** path for it. The third is the `search_docs` query log,
|
|
28
|
+
* whose path is the **operator's own** rather than this CLI's choice: it is whatever the environment
|
|
29
|
+
* variable `cli/src/retrieval/queryLog.ts` owns (`RETRIEVAL_LOG_ENV`) names, so it may land inside or
|
|
30
|
+
* outside the target repository and **no policy in the table below applies to it**.
|
|
31
|
+
* `cli/src/retrieval/queryLog.ts` is the **one** module that makes that write, nothing is opened or
|
|
32
|
+
* created when the variable is unset, and it is no `init` artifact.
|
|
33
|
+
* `.claude/context/conventions.md` → `### Where a new responsibility goes` records neither the index
|
|
34
|
+
* nor the query log; both are raised for a supervised amendment.
|
|
18
35
|
*
|
|
19
36
|
* ## The re-run contract, per artifact
|
|
20
37
|
*
|
|
@@ -22,13 +39,15 @@
|
|
|
22
39
|
* |---|---|---|
|
|
23
40
|
* | `harness.config.json` | `create-if-absent`, **not upgraded by `--force`** | The adopter edits it; a re-run must never rewrite it, and neither may `--force`: config is read-if-present, always. `init --reset-config` is the one path that rebuilds it, after a `.bak`. |
|
|
24
41
|
* | The permission profile (`.claude/settings.autonomous.json`) | `create-if-absent` | Hand-tuned after generation; an overwrite silently drops allow entries. |
|
|
25
|
-
* | `.claude/CLAUDE.md` | `create-if-absent` | `/harness-analyze` fills it; a re-run must not undo that. It carries neither the `<!-- harness:unfilled -->` marker nor the `**What belongs here**` block, so its setup state is the `<!-- harness:setup-pending -->` banner and `doctor`'s `setup-analysis` check, not the two-part test below. |
|
|
42
|
+
* | `.claude/CLAUDE.md` | `create-if-absent` | `/autonomous-sdlc-harness:harness-analyze` fills it; a re-run must not undo that. It carries neither the `<!-- harness:unfilled -->` marker nor the `**What belongs here**` block, so its setup state is the `<!-- harness:setup-pending -->` banner and `doctor`'s `setup-analysis` check, not the two-part test below. |
|
|
26
43
|
* | `.claude/harness-task-offer.md` | `create-if-absent` | Nothing fills it — the always-loaded file's `## Where a change request runs` fence points at it by name, so a re-run must keep the adopter's edited copy and `--force` after a `.bak` is the upgrade path. |
|
|
27
|
-
* | `.claude/context/*.md` stubs | `create-if-absent` | `/harness-analyze` fills them; a re-run must not undo that. Filled is checkable, by the two-part test `init`, `doctor` and the command all apply: a stub still carrying its `<!-- harness:unfilled -->` marker **and** its `**What belongs here**` block is an untouched skeleton, and anything else was written — by the command or by hand. |
|
|
44
|
+
* | `.claude/context/*.md` stubs | `create-if-absent` | `/autonomous-sdlc-harness:harness-analyze` fills them; a re-run must not undo that. Filled is checkable, by the two-part test `init`, `doctor` and the command all apply: a stub still carrying its `<!-- harness:unfilled -->` marker **and** its `**What belongs here**` block is an untouched skeleton, and anything else was written — by the command or by hand. |
|
|
28
45
|
* | `.claude/settings.json`, `.mcp.json` | `merge-json` (missing keys only) | Shared with other tooling; the adopter's own entries survive. |
|
|
29
46
|
* | `.gitignore` | `merge-lines` (a managed block, lines not already present) | Every repo already has one. |
|
|
30
47
|
* | The `stateDir` tree and its per-directory READMEs | `ensure-dir` + `create-if-absent` | Creating what is missing is the whole operation; an adopter may have rewritten a contract sentence. |
|
|
31
48
|
* | The ledgers `lessons.md` / `improvement_suggestions.md` | `create-if-absent`, **not upgraded by `--force`** | Ledgers accumulate and nothing can re-derive one; the engine's `.bak` is single-generation, so `--force` may not touch them. |
|
|
49
|
+
* | `.github/workflows/harness-run.yml` | `create-if-absent` | Written only when `execution.target` is `github-actions`; the adopter tunes the timeouts and the runner, and `--force` after a `.bak` is the upgrade path, which also re-pins the CLI version rendered into it. |
|
|
50
|
+
* | `.github/workflows/harness-resume.yml` | `create-if-absent` | Written only when `execution.target` is `github-actions`; the adopter tunes the cron, and `--force` after a `.bak` is the upgrade path. |
|
|
32
51
|
* | Git hook `pre-push`, wrapper scripts | `create-if-absent` | Adopter may have edited the guard. The hook alone is also replaced, after a `.bak`, by the one run that rebuilt the config it is rendered from (`init --reset-config`) — and only where its rendered `case` label no longer matches the set that config resolves, never where the label cannot be read. |
|
|
33
52
|
*
|
|
34
53
|
* `--force` upgrades **`create-if-absent` only** to overwrite-after-backup, and only where the
|
package/dist/core/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqIxC,uDAAuD;AACvD,MAAM,aAAa,GAA8C;IAC/D,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,wBAAwB,EAAE,UAAU;CACrC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,mBAAmB,GAA8C;IACrE,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,cAAc;IACvB,wBAAwB,EAAE,eAAe;CAC1C,CAAC;AAoBF,oFAAoF;AACpF,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAsC,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACjF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAsC,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACjF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,OAAwB;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC/F,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,gEAAgE;AAChE,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,yCAAyC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,QAAiC,EAAE,GAAiB;IAC3E,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,2CAA2C,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,+BAA+B,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,0CAA0C,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChD,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,gCAAgC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,mCAAmC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,+BAA+B,CAAC,CAAC;QACrG,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY;YAAE,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACrC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,kCAAkC,CAAC,CAAC;YAC5G,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;gBACpE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,6DAA6D,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY;gBAAE,SAAS;YAC3E,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,kDAAkD,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,SAAS,CAAC,OAAwB,EAAE,GAAiB;IAC5D,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,YAAY;YACf,oFAAoF;YACpF,yEAAyE;YACzE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAExC,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YAC5D,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ,CAAC;YACrG,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,IAAI,MAAM,CAAC;YACzC,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,0CAA0C,UAAU,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;QACjG,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,oDAAoD,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAe,CAAC;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC;QAED,KAAK,aAAa;YAChB,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,cAAc,CAAC,OAAwB;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAqB,CAAC;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpG,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAE7D,uFAAuF;IACvF,2EAA2E;IAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAEpE,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CACtB,KAAe,EACf,WAAmB,EACnB,MAAyB,EACzB,OAA4B;IAE5B,IAAI,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;IAC/B,OAAO,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAK,KAAK,CAAC,QAAQ,CAAY,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,QAAQ,IAAI,CAAC,CAAC;IAE3F,IAAI,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,CAAC,CAAC;YACZ,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,KAAK,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACnD,IAAK,KAAK,CAAC,IAAI,CAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC5C,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,OAAqB;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IAEtC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAErF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;IACpG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,0FAA0F;AAC1F,SAAS,YAAY,CAAC,MAAmB,EAAE,KAAwB;IACjE,MAAM,IAAI,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,oGAAoG;AACpG,SAAS,YAAY,CAAC,OAAqB;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,gBAAgB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAY,EAAE,CAAC;IAC7G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IACX,SAAS,GAAmB,EAAE,CAAC;IAExC,2DAA2D;IAC3D,GAAG,CAAC,OAAqB;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAiB;QACrB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;gBAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gBACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;gBAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;gBAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;aAC5E,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAY;IACxD,OAAO,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,iBAAiB,MAAM,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,+CAA+C,KAAK,MAAM,MAAM,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/core/writer.ts"],"names":[],"mappings":"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"}
|
package/dist/detect/presets.js
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* running something that never checked anything.
|
|
28
28
|
*/
|
|
29
29
|
import { placeholderCommand } from '../config/model.js';
|
|
30
|
+
import { ANALYZE_COMMAND } from '../core/pluginIdentity.js';
|
|
30
31
|
import { appScriptNames, declaresNodeScript, findAndroidModule, findApiDir, findBundlerManifest, findCargoManifest, findCmakeManifest, findComposerManifest, findDotnetProject, findFlutterManifest, findGoManifest, findGradleManifest, findLayeredRoot, findMavenManifest, findNodeInstallSite, findPythonManifest, findPythonPackageDir, findReadManifests, findSharedSchemes, findSwiftPackageManifest, findAnyReadManifest, findUnreadManifest, findXcodeProject, isWorkspaceRoot, manifestDirectory, ANDROID_MANIFEST, ANDROID_MODULE_DIRS, BUNDLER_MANIFEST, CARGO_MANIFEST, CMAKE_MANIFEST, COMPOSER_MANIFEST, DOTNET_PROJECT_SUFFIXES, DOTNET_SOLUTION_SUFFIXES, FLAT_FALLBACK_SIGNAL_ID, GO_MANIFEST, GRADLE_MANIFESTS, MAVEN_MANIFEST, PACKAGE_LOCKFILE, PACKAGE_MANIFEST, PUBSPEC_MANIFEST, PYTHON_MANIFESTS, SWIFT_PACKAGE_MANIFEST, XCODE_PROJECT_SUFFIXES, XCODE_SHARED_SCHEMES_DIR, XCODE_WORKSPACE_SUFFIX, } from './signals.js';
|
|
31
32
|
/** The two command keys the schema requires, and therefore the only two that get a placeholder. */
|
|
32
33
|
const REQUIRED_COMMAND_KEYS = ['typecheck', 'test'];
|
|
@@ -44,7 +45,7 @@ const GENERAL_LAYER_CONVENTIONS = 'conventions.md';
|
|
|
44
45
|
/**
|
|
45
46
|
* The rules document a preset's single source-root layer points at — the shape a stack whose whole
|
|
46
47
|
* application lives under one directory gets, where naming that directory is deterministic and
|
|
47
|
-
* decomposing it is a judgement call and therefore `/harness-analyze`'s.
|
|
48
|
+
* decomposing it is a judgement call and therefore `/autonomous-sdlc-harness:harness-analyze`'s.
|
|
48
49
|
*/
|
|
49
50
|
const MODULE_LAYER_CONVENTIONS = 'module.md';
|
|
50
51
|
/**
|
|
@@ -526,9 +527,10 @@ function presetSourceLayers(preset, context) {
|
|
|
526
527
|
// The single-module Android application this row exists for: one source root under the
|
|
527
528
|
// module's main source set, named because it is deterministic, and pointed at the
|
|
528
529
|
// single-module document for `flutter`'s reason — decomposing it into features is a
|
|
529
|
-
// judgement call and therefore `/harness-analyze`'s. A
|
|
530
|
-
// laid out as root-level `data/`, `domain/`,
|
|
531
|
-
// `layered-clean-arch:layer-directories`,
|
|
530
|
+
// judgement call and therefore `/autonomous-sdlc-harness:harness-analyze`'s. A
|
|
531
|
+
// **multi-module** Android repository laid out as root-level `data/`, `domain/`,
|
|
532
|
+
// `presentation/` never reaches here: it matches `layered-clean-arch:layer-directories`,
|
|
533
|
+
// which is evaluated well above this preset's row.
|
|
532
534
|
const found = findAndroidModule(context);
|
|
533
535
|
return found === undefined
|
|
534
536
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: no module
|
|
@@ -542,9 +544,10 @@ function presetSourceLayers(preset, context) {
|
|
|
542
544
|
case 'jvm': {
|
|
543
545
|
// Both build tools reach here, and both get the same one layer: a Maven or Gradle project's
|
|
544
546
|
// sources live under one main source set, naming it is deterministic, and decomposing it into
|
|
545
|
-
// modules or packages is a judgement call and therefore
|
|
546
|
-
// JVM repository laid out as
|
|
547
|
-
//
|
|
547
|
+
// modules or packages is a judgement call and therefore
|
|
548
|
+
// `/autonomous-sdlc-harness:harness-analyze`'s. A **multi-module** JVM repository laid out as
|
|
549
|
+
// root-level `data/`, `domain/`, `presentation/` never reaches here — it matches
|
|
550
|
+
// `layered-clean-arch:layer-directories`, far above these rows.
|
|
548
551
|
const dir = jvmSourceDir(context);
|
|
549
552
|
return dir === undefined
|
|
550
553
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a project
|
|
@@ -556,9 +559,10 @@ function presetSourceLayers(preset, context) {
|
|
|
556
559
|
// One layer at the source root, and **not one per project file**, which is the deliberate
|
|
557
560
|
// line here. Naming a layer per `.csproj` would take its name from the project file
|
|
558
561
|
// (`MyApp.Infrastructure` → `infrastructure`) and thereby decide which project is which
|
|
559
|
-
// layer — a judgement about the adopter's architecture, and therefore
|
|
560
|
-
// exactly as the `monorepo` and `flat` cases
|
|
561
|
-
// `src/` is deterministic; naming its contents is
|
|
562
|
+
// layer — a judgement about the adopter's architecture, and therefore
|
|
563
|
+
// `/autonomous-sdlc-harness:harness-analyze`'s, exactly as the `monorepo` and `flat` cases
|
|
564
|
+
// below say for packages and modules. Naming `src/` is deterministic; naming its contents is
|
|
565
|
+
// not.
|
|
562
566
|
const dir = dotnetSourceDir(context);
|
|
563
567
|
return dir === undefined
|
|
564
568
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a solution
|
|
@@ -570,8 +574,9 @@ function presetSourceLayers(preset, context) {
|
|
|
570
574
|
// One source root, pointed at the single-module document for `flutter`'s reason: naming
|
|
571
575
|
// `Sources/` — or the directory the Xcode container is named after — is deterministic, while
|
|
572
576
|
// decomposing it into targets or feature modules is a judgement call and therefore
|
|
573
|
-
// `/harness-analyze`'s. The layer is called `sources` in both arms
|
|
574
|
-
// `MyApp/`; {@link APPLE_LAYER_NAME} says why the two are allowed
|
|
577
|
+
// `/autonomous-sdlc-harness:harness-analyze`'s. The layer is called `sources` in both arms
|
|
578
|
+
// even where the directory is `MyApp/`; {@link APPLE_LAYER_NAME} says why the two are allowed
|
|
579
|
+
// to differ here.
|
|
575
580
|
const dir = appleSourceDir(context);
|
|
576
581
|
return dir === undefined
|
|
577
582
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a container
|
|
@@ -582,7 +587,7 @@ function presetSourceLayers(preset, context) {
|
|
|
582
587
|
case 'rust-cargo': {
|
|
583
588
|
// One layer at the crate's `src/`, for {@link dotnetSourceDir}'s reason: naming the source
|
|
584
589
|
// root is deterministic, while splitting it into modules — or a workspace into its members —
|
|
585
|
-
// is a judgement call and therefore `/harness-analyze`'s.
|
|
590
|
+
// is a judgement call and therefore `/autonomous-sdlc-harness:harness-analyze`'s.
|
|
586
591
|
const dir = cargoSourceDir(context);
|
|
587
592
|
return dir === undefined
|
|
588
593
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a manifest
|
|
@@ -594,9 +599,10 @@ function presetSourceLayers(preset, context) {
|
|
|
594
599
|
// One layer at whichever conventional source root exists, for {@link cargoSourceDir}'s
|
|
595
600
|
// reason: naming `app/` or `lib/` is deterministic, while splitting either into the
|
|
596
601
|
// sub-directories Rails puts there — `models/`, `controllers/`, `views/` — would decide the
|
|
597
|
-
// adopter's architecture, which is a judgement call and therefore
|
|
598
|
-
// Rails-shaped repository does not arrive here
|
|
599
|
-
// its `app/controllers` far above this preset's
|
|
602
|
+
// adopter's architecture, which is a judgement call and therefore
|
|
603
|
+
// `/autonomous-sdlc-harness:harness-analyze`'s. A Rails-shaped repository does not arrive here
|
|
604
|
+
// at all: `api-service:route-directory` matches its `app/controllers` far above this preset's
|
|
605
|
+
// row and gives it the better profile.
|
|
600
606
|
const dir = firstSourceDir(context, RUBY_SOURCE_DIRS);
|
|
601
607
|
return dir === undefined
|
|
602
608
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a `Gemfile`
|
|
@@ -608,9 +614,9 @@ function presetSourceLayers(preset, context) {
|
|
|
608
614
|
// One layer at whichever conventional source root exists, for the `ruby-bundler` arm's
|
|
609
615
|
// reason: naming Laravel's `app/` or PSR-4's `src/` is deterministic, while splitting either
|
|
610
616
|
// into the sub-directories a framework puts there — `Http/`, `Models/`, `Providers/` — would
|
|
611
|
-
// decide the adopter's architecture, which is `/harness-analyze`'s. A
|
|
612
|
-
// repository does not arrive here at all: `api-service:route-directory` matches
|
|
613
|
-
// far above this preset's row and gives it the better profile.
|
|
617
|
+
// decide the adopter's architecture, which is `/autonomous-sdlc-harness:harness-analyze`'s. A
|
|
618
|
+
// Laravel-shaped repository does not arrive here at all: `api-service:route-directory` matches
|
|
619
|
+
// its `routes/` far above this preset's row and gives it the better profile.
|
|
614
620
|
const dir = firstSourceDir(context, PHP_SOURCE_DIRS);
|
|
615
621
|
return dir === undefined
|
|
616
622
|
? // `buildPreset`'s general-only warning then fires, which is the right answer: a
|
|
@@ -621,8 +627,9 @@ function presetSourceLayers(preset, context) {
|
|
|
621
627
|
case 'cmake-cpp': {
|
|
622
628
|
// The two conventional source roots, for the `rust-cargo` arm's reason: naming them is
|
|
623
629
|
// deterministic, while splitting a C++ project into modules, targets or libraries is a
|
|
624
|
-
// judgement call and therefore `/harness-analyze`'s.
|
|
625
|
-
// `include/` is a row of its own and why it is a *source*
|
|
630
|
+
// judgement call and therefore `/autonomous-sdlc-harness:harness-analyze`'s.
|
|
631
|
+
// {@link CMAKE_HEADER_DIRS} says why `include/` is a row of its own and why it is a *source*
|
|
632
|
+
// row.
|
|
626
633
|
const source = firstSourceDir(context, CMAKE_SOURCE_DIRS);
|
|
627
634
|
const headers = firstSourceDir(context, CMAKE_HEADER_DIRS);
|
|
628
635
|
// Each absent root drops its row, the rule every arm above follows — so a project with
|
|
@@ -637,7 +644,8 @@ function presetSourceLayers(preset, context) {
|
|
|
637
644
|
case 'monorepo':
|
|
638
645
|
case 'flat':
|
|
639
646
|
// Both are deliberately layer-less: the packages of a monorepo and the shape of an
|
|
640
|
-
// unrecognised tree are judgement calls, and judgement is
|
|
647
|
+
// unrecognised tree are judgement calls, and judgement is
|
|
648
|
+
// `/autonomous-sdlc-harness:harness-analyze`'s.
|
|
641
649
|
return [generalLayer()];
|
|
642
650
|
}
|
|
643
651
|
}
|
|
@@ -1875,7 +1883,7 @@ function familyTiebreakNote(profile) {
|
|
|
1875
1883
|
*/
|
|
1876
1884
|
function splitDetectionNote(claim) {
|
|
1877
1885
|
return ('no layout signal matched this repository, so the `flat` fallback supplied the layer profile and ' +
|
|
1878
|
-
|
|
1886
|
+
`\`${ANALYZE_COMMAND}\` is what refines it — the command half did resolve: ${commandSourceClaim(claim)}. ` +
|
|
1879
1887
|
'The unrecognised-layout warning is about the layer profile ' +
|
|
1880
1888
|
'alone, not about the command lines this run wrote');
|
|
1881
1889
|
}
|
|
@@ -1892,8 +1900,9 @@ export function buildPreset(detection) {
|
|
|
1892
1900
|
// Gated on the **source** rows, not on `layers`: a `tests` row is spliced in whenever the
|
|
1893
1901
|
// toolchain's conventional test root exists, and gating on the spliced length would silence this
|
|
1894
1902
|
// warning for a repository whose source root did not resolve but whose test root did.
|
|
1895
|
-
// `flat` is excluded because its own fallback warning already says to run
|
|
1896
|
-
// and the same advice twice in one summary reads as a
|
|
1903
|
+
// `flat` is excluded because its own fallback warning already says to run
|
|
1904
|
+
// `/autonomous-sdlc-harness:harness-analyze`, and the same advice twice in one summary reads as a
|
|
1905
|
+
// bug rather than as emphasis.
|
|
1897
1906
|
//
|
|
1898
1907
|
// The trailing clause names what `doctor` will say about the same repository, gated on the set
|
|
1899
1908
|
// `doctor` gates its arms on rather than on this warning's own population, which is far wider:
|
|
@@ -1904,7 +1913,7 @@ export function buildPreset(detection) {
|
|
|
1904
1913
|
const disposition = LAYERLESS_BY_DESIGN_PRESETS.has(preset)
|
|
1905
1914
|
? '`doctor` grades this a decision rather than drift, and it does not grade `layer-drift` while the profile carries no row below the root, so the directories under it are not enumerated anywhere until a profile is proposed'
|
|
1906
1915
|
: "`doctor` keeps warning about it as an unresolved source root until a profile is recorded, since nothing else repeats this line";
|
|
1907
|
-
context.warn(`the \`${preset}\` preset gives this repository the \`general\` layer only — per-package or per-module layers are
|
|
1916
|
+
context.warn(`the \`${preset}\` preset gives this repository the \`general\` layer only — per-package or per-module layers are \`${ANALYZE_COMMAND}\`'s to propose. ${disposition}`);
|
|
1908
1917
|
}
|
|
1909
1918
|
// One `resolve` call per iteration and the `break` intact: a second call on an already-evaluated
|
|
1910
1919
|
// family would re-emit its own notes and warnings, and evaluating a family below the winner would
|