llm-wb 0.1.0-beta.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/.agentic/00.chat/README.md +78 -0
- package/.agentic/00.chat/checklists/before-commit.md +195 -0
- package/.agentic/00.chat/checklists/llm-workbench-public-beta.md +94 -0
- package/.agentic/00.chat/commands/README.md +108 -0
- package/.agentic/00.chat/migration-plan.md +132 -0
- package/.agentic/00.chat/skills/session-summary.md +48 -0
- package/.agentic/00.chat/standards/llm-workbench-public-beta-contract.md +216 -0
- package/.agentic/00.chat/standards/main-refresh-conflict-types.md +358 -0
- package/.agentic/00.chat/workflows/README.md +40 -0
- package/.agentic/00.chat/workflows/bootstrap-chat-workbench-repo.md +212 -0
- package/.agentic/00.chat/workflows/chat-cleanup.md +102 -0
- package/.agentic/00.chat/workflows/chat-commit.md +56 -0
- package/.agentic/00.chat/workflows/chat-promote-to-main.md +169 -0
- package/.agentic/00.chat/workflows/chat-refresh-from-main.md +242 -0
- package/.agentic/00.chat/workflows/chat-reporting.md +69 -0
- package/.agentic/00.chat/workflows/chat-start.md +173 -0
- package/.agentic/00.chat/workflows/chat-upstream-reusable-lesson.md +123 -0
- package/.agentic/shared/standards/README.md +32 -0
- package/.agentic/shared/standards/upstream-repo-bootstrap.md +131 -0
- package/.agentic/shared/workflows/README.md +35 -0
- package/.agentic/shared/workflows/capability-resolution-workflow.md +189 -0
- package/.agentic/shared/workflows/change-shared-process.md +92 -0
- package/.cursor/rules/llm-workbench.mdc +17 -0
- package/.github/copilot-instructions.md +16 -0
- package/AGENTS.md +63 -0
- package/CLAUDE.md +16 -0
- package/CONTRIBUTING.md +57 -0
- package/LICENSE +21 -0
- package/LLM_WORKBENCH.md +17 -0
- package/README.md +98 -0
- package/SECURITY.md +44 -0
- package/bin/llm-workbench.js +672 -0
- package/docs/00.chat/README.md +47 -0
- package/docs/00.chat/llm-workbench-acceptance-matrix.md +55 -0
- package/docs/00.chat/script-layout.md +107 -0
- package/docs/adapting-to-your-repo.md +29 -0
- package/docs/concepts.md +38 -0
- package/docs/install.md +114 -0
- package/docs/public-beta-contract.md +45 -0
- package/docs/workflows.md +103 -0
- package/examples/minimal-repo/README.md +13 -0
- package/package.json +93 -0
- package/scripts/00.chat/README.md +46 -0
- package/scripts/00.chat/bootstrap/README.md +35 -0
- package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/README.md +39 -0
- package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/script.sh +213 -0
- package/scripts/00.chat/closeout/README.md +30 -0
- package/scripts/00.chat/closeout/build-closeout-prompt/README.md +35 -0
- package/scripts/00.chat/closeout/build-closeout-prompt/script.sh +124 -0
- package/scripts/00.chat/command/README.md +31 -0
- package/scripts/00.chat/command/close/README.md +30 -0
- package/scripts/00.chat/command/close/script.sh +25 -0
- package/scripts/00.chat/command/dispatcher/README.md +46 -0
- package/scripts/00.chat/command/dispatcher/script.sh +91 -0
- package/scripts/00.chat/command/dispatcher/smoke-test.sh +168 -0
- package/scripts/00.chat/command/new/README.md +32 -0
- package/scripts/00.chat/command/new/script.sh +28 -0
- package/scripts/00.chat/command/open-window/README.md +38 -0
- package/scripts/00.chat/command/open-window/script.sh +25 -0
- package/scripts/00.chat/command/package-scripts/README.md +34 -0
- package/scripts/00.chat/command/package-scripts/smoke-test.sh +113 -0
- package/scripts/00.chat/git/README.md +30 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/README.md +36 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/script.sh +243 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/smoke-test.sh +136 -0
- package/scripts/00.chat/local-merge/README.md +30 -0
- package/scripts/00.chat/local-merge/list-active-chat-branches/README.md +29 -0
- package/scripts/00.chat/local-merge/list-active-chat-branches/script.sh +109 -0
- package/scripts/00.chat/local-merge/report-chat-branch-overlaps/README.md +29 -0
- package/scripts/00.chat/local-merge/report-chat-branch-overlaps/script.sh +142 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/README.md +33 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/script.sh +345 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/smoke-test.sh +244 -0
- package/scripts/00.chat/main-refresh/README.md +39 -0
- package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/README.md +32 -0
- package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/script.sh +198 -0
- package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/README.md +30 -0
- package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/script.sh +121 -0
- package/scripts/00.chat/main-refresh/classify-conflict/README.md +39 -0
- package/scripts/00.chat/main-refresh/classify-conflict/script.sh +169 -0
- package/scripts/00.chat/main-refresh/classify-conflict/smoke-test.sh +137 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/README.md +35 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/script.sh +171 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/smoke-test.sh +132 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/README.md +34 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/script.sh +124 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/smoke-test.sh +257 -0
- package/scripts/00.chat/main-refresh/show-main-update-status/README.md +31 -0
- package/scripts/00.chat/main-refresh/show-main-update-status/script.sh +73 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/README.md +37 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/script.sh +154 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/smoke-test.sh +99 -0
- package/scripts/00.chat/metrics/README.md +35 -0
- package/scripts/00.chat/metrics/data/chat-pricing.json +107 -0
- package/scripts/00.chat/metrics/data/chat-pricing.schema.json +63 -0
- package/scripts/00.chat/metrics/estimate-chat-cost/README.md +40 -0
- package/scripts/00.chat/metrics/estimate-chat-cost/script.js +130 -0
- package/scripts/00.chat/migration/README.md +30 -0
- package/scripts/00.chat/migration/audit-chat-layer-migration/README.md +33 -0
- package/scripts/00.chat/migration/audit-chat-layer-migration/script.sh +127 -0
- package/scripts/00.chat/recovery/README.md +30 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/README.md +76 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/script.sh +212 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/smoke-test.sh +162 -0
- package/scripts/00.chat/reporting/README.md +30 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/README.md +35 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/script.sh +299 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/smoke-test.sh +93 -0
- package/scripts/00.chat/reporting/report-chat-workspaces/README.md +32 -0
- package/scripts/00.chat/reporting/report-chat-workspaces/script.sh +82 -0
- package/scripts/00.chat/session-log/README.md +33 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/README.md +89 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/script.sh +121 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/smoke-test.sh +119 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/README.md +90 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/script.sh +131 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/smoke-test.sh +123 -0
- package/scripts/00.chat/session-log/checkpoint-chat-session-log/README.md +98 -0
- package/scripts/00.chat/session-log/checkpoint-chat-session-log/script.sh +126 -0
- package/scripts/00.chat/session-log/paths/README.md +38 -0
- package/scripts/00.chat/session-log/paths/lib.sh +133 -0
- package/scripts/00.chat/session-log/prepare-chat-session-before-commit/README.md +90 -0
- package/scripts/00.chat/session-log/prepare-chat-session-before-commit/script.sh +145 -0
- package/scripts/00.chat/session-log/read-current-chat-log/README.md +44 -0
- package/scripts/00.chat/session-log/read-current-chat-log/script.sh +92 -0
- package/scripts/00.chat/session-log/read-current-chat-log/smoke-test.sh +127 -0
- package/scripts/00.chat/session-log/record-chat-commit/README.md +133 -0
- package/scripts/00.chat/session-log/record-chat-commit/script.sh +394 -0
- package/scripts/00.chat/session-log/record-chat-commit/smoke-test.sh +227 -0
- package/scripts/00.chat/session-log/record-main-refresh-conflict/README.md +34 -0
- package/scripts/00.chat/session-log/record-main-refresh-conflict/script.sh +239 -0
- package/scripts/00.chat/session-log/rename-current-chat-log-folder/README.md +32 -0
- package/scripts/00.chat/session-log/rename-current-chat-log-folder/script.sh +112 -0
- package/scripts/00.chat/session-log/update-chat-log/README.md +32 -0
- package/scripts/00.chat/session-log/update-chat-log/script.sh +294 -0
- package/scripts/00.chat/startup/README.md +37 -0
- package/scripts/00.chat/startup/auto-start-missing-session/README.md +113 -0
- package/scripts/00.chat/startup/auto-start-missing-session/script.sh +54 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/README.md +57 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/script.sh +47 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/smoke-test.sh +130 -0
- package/scripts/00.chat/startup/start-chat-session/README.md +197 -0
- package/scripts/00.chat/startup/start-chat-session/script.sh +330 -0
- package/scripts/00.chat/startup/start-chat-session/smoke-test.sh +182 -0
- package/scripts/00.chat/startup/start-new-chat/README.md +31 -0
- package/scripts/00.chat/startup/start-new-chat/script.sh +29 -0
- package/scripts/00.chat/transcript/README.md +36 -0
- package/scripts/00.chat/transcript/discover-codex-session-log/README.md +32 -0
- package/scripts/00.chat/transcript/discover-codex-session-log/script.sh +106 -0
- package/scripts/00.chat/transcript/register-codex-session-log/README.md +32 -0
- package/scripts/00.chat/transcript/register-codex-session-log/script.sh +115 -0
- package/scripts/00.chat/worktree/README.md +32 -0
- package/scripts/00.chat/worktree/check-write-location/README.md +87 -0
- package/scripts/00.chat/worktree/check-write-location/script.sh +95 -0
- package/scripts/00.chat/worktree/dirty-worktree-check/README.md +77 -0
- package/scripts/00.chat/worktree/dirty-worktree-check/script.sh +93 -0
- package/scripts/00.chat/worktree/ensure-chat-worktree/README.md +33 -0
- package/scripts/00.chat/worktree/ensure-chat-worktree/script.sh +132 -0
- package/scripts/00.chat/worktree/open-window/README.md +34 -0
- package/scripts/00.chat/worktree/open-window/script.sh +131 -0
- package/scripts/00.chat/worktree/paths/README.md +32 -0
- package/scripts/00.chat/worktree/paths/lib.sh +71 -0
- package/scripts/01.harness/artifact-metadata/check-headers/script.sh +522 -0
- package/scripts/01.harness/artifact-metadata/check-headers/smoke-test.sh +48 -0
- package/scripts/01.harness/check-deterministic-process-drift.sh +416 -0
- package/scripts/01.harness/check-governed-script-command-drift.sh +184 -0
- package/scripts/01.harness/run-governed-script.sh +178 -0
- package/scripts/install.sh +503 -0
- package/scripts/uninstall.sh +199 -0
- package/tests/smoke-test-install.sh +70 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# agentic-artifact:
|
|
5
|
+
# schema: agentic-artifact/v2
|
|
6
|
+
# id: chat.script.uninstall
|
|
7
|
+
# version: 1
|
|
8
|
+
# status: active
|
|
9
|
+
# layer: 00.chat
|
|
10
|
+
# domain: install
|
|
11
|
+
# disciplines:
|
|
12
|
+
# - agentic
|
|
13
|
+
# kind: script
|
|
14
|
+
# purpose: Uninstall manifest-owned llm-workbench files from a target Git repository.
|
|
15
|
+
# portability:
|
|
16
|
+
# class: required
|
|
17
|
+
# targets:
|
|
18
|
+
# - llm-workbench
|
|
19
|
+
# used_by:
|
|
20
|
+
# - id: llm-workbench.docs.install
|
|
21
|
+
# effects:
|
|
22
|
+
# - writes-files
|
|
23
|
+
|
|
24
|
+
usage() {
|
|
25
|
+
cat <<'EOF'
|
|
26
|
+
Usage:
|
|
27
|
+
scripts/uninstall.sh [--dry-run|--apply] <target-git-repo>
|
|
28
|
+
|
|
29
|
+
Removes llm-workbench-managed files, package scripts, and instruction blocks
|
|
30
|
+
recorded in .llm-workbench/install-manifest.tsv.
|
|
31
|
+
EOF
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
MODE=""
|
|
35
|
+
TARGET_REPO=""
|
|
36
|
+
|
|
37
|
+
while [ $# -gt 0 ]; do
|
|
38
|
+
case "$1" in
|
|
39
|
+
--dry-run)
|
|
40
|
+
[ -z "$MODE" ] || { echo "ERROR: choose one mode." >&2; exit 2; }
|
|
41
|
+
MODE="dry-run"
|
|
42
|
+
shift
|
|
43
|
+
;;
|
|
44
|
+
--apply)
|
|
45
|
+
[ -z "$MODE" ] || { echo "ERROR: choose one mode." >&2; exit 2; }
|
|
46
|
+
MODE="apply"
|
|
47
|
+
shift
|
|
48
|
+
;;
|
|
49
|
+
-h|--help)
|
|
50
|
+
usage
|
|
51
|
+
exit 0
|
|
52
|
+
;;
|
|
53
|
+
-*)
|
|
54
|
+
echo "ERROR: unknown argument: $1" >&2
|
|
55
|
+
usage >&2
|
|
56
|
+
exit 2
|
|
57
|
+
;;
|
|
58
|
+
*)
|
|
59
|
+
[ -z "$TARGET_REPO" ] || { echo "ERROR: target repo specified twice." >&2; exit 2; }
|
|
60
|
+
TARGET_REPO="$1"
|
|
61
|
+
shift
|
|
62
|
+
;;
|
|
63
|
+
esac
|
|
64
|
+
done
|
|
65
|
+
|
|
66
|
+
MODE="${MODE:-dry-run}"
|
|
67
|
+
|
|
68
|
+
if [ -z "$TARGET_REPO" ]; then
|
|
69
|
+
usage >&2
|
|
70
|
+
exit 2
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
if [ ! -d "$TARGET_REPO/.git" ]; then
|
|
74
|
+
echo "ERROR: target is not a Git repo: $TARGET_REPO" >&2
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
SOURCE_REPO="$(cd "$(dirname "$0")/.." && pwd)"
|
|
79
|
+
MANIFEST_PATH="$TARGET_REPO/.llm-workbench/install-manifest.tsv"
|
|
80
|
+
|
|
81
|
+
if [ ! -f "$MANIFEST_PATH" ]; then
|
|
82
|
+
echo "ERROR: install manifest not found: ${MANIFEST_PATH#$TARGET_REPO/}" >&2
|
|
83
|
+
exit 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
remove_managed_block() {
|
|
87
|
+
local relative_path="$1"
|
|
88
|
+
local target="$TARGET_REPO/$relative_path"
|
|
89
|
+
local tmp
|
|
90
|
+
|
|
91
|
+
[ -f "$target" ] || return 0
|
|
92
|
+
tmp="$(mktemp)"
|
|
93
|
+
|
|
94
|
+
awk '
|
|
95
|
+
/<!-- llm-workbench:start -->/ {
|
|
96
|
+
in_block = 1
|
|
97
|
+
next
|
|
98
|
+
}
|
|
99
|
+
/<!-- llm-workbench:end -->/ {
|
|
100
|
+
in_block = 0
|
|
101
|
+
next
|
|
102
|
+
}
|
|
103
|
+
in_block == 1 {
|
|
104
|
+
next
|
|
105
|
+
}
|
|
106
|
+
{
|
|
107
|
+
print
|
|
108
|
+
}
|
|
109
|
+
' "$target" > "$tmp"
|
|
110
|
+
|
|
111
|
+
mv "$tmp" "$target"
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
remove_package_script() {
|
|
115
|
+
local script_name="$1"
|
|
116
|
+
local target_package="$TARGET_REPO/package.json"
|
|
117
|
+
local source_package="$SOURCE_REPO/package.json"
|
|
118
|
+
|
|
119
|
+
[ -f "$target_package" ] || return 0
|
|
120
|
+
|
|
121
|
+
node - "$target_package" "$source_package" "$script_name" <<'NODE'
|
|
122
|
+
const fs = require('fs');
|
|
123
|
+
const targetPath = process.argv[2];
|
|
124
|
+
const sourcePath = process.argv[3];
|
|
125
|
+
const scriptName = process.argv[4];
|
|
126
|
+
|
|
127
|
+
const target = JSON.parse(fs.readFileSync(targetPath, 'utf8'));
|
|
128
|
+
const source = JSON.parse(fs.readFileSync(sourcePath, 'utf8'));
|
|
129
|
+
|
|
130
|
+
if (!target.scripts || !Object.prototype.hasOwnProperty.call(target.scripts, scriptName)) {
|
|
131
|
+
process.exit(0);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const expected = source.scripts && source.scripts[scriptName];
|
|
135
|
+
if (expected !== undefined && target.scripts[scriptName] !== expected) {
|
|
136
|
+
process.exit(0);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
delete target.scripts[scriptName];
|
|
140
|
+
if (Object.keys(target.scripts).length === 0) {
|
|
141
|
+
delete target.scripts;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
fs.writeFileSync(targetPath, `${JSON.stringify(target, null, 2)}\n`);
|
|
145
|
+
NODE
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
cleanup_empty_dirs() {
|
|
149
|
+
for path in \
|
|
150
|
+
"$TARGET_REPO/scripts" \
|
|
151
|
+
"$TARGET_REPO/.agentic" \
|
|
152
|
+
"$TARGET_REPO/.github" \
|
|
153
|
+
"$TARGET_REPO/.cursor" \
|
|
154
|
+
"$TARGET_REPO/.llm-workbench"; do
|
|
155
|
+
[ -d "$path" ] || continue
|
|
156
|
+
find "$path" -depth -type d -empty -delete
|
|
157
|
+
done
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
echo "llm-workbench uninstall ${MODE}"
|
|
161
|
+
echo
|
|
162
|
+
echo "Target repo: $TARGET_REPO"
|
|
163
|
+
echo "Manifest: ${MANIFEST_PATH#$TARGET_REPO/}"
|
|
164
|
+
echo
|
|
165
|
+
|
|
166
|
+
while IFS=$'\t' read -r kind value; do
|
|
167
|
+
[ -n "${kind:-}" ] || continue
|
|
168
|
+
case "$kind" in
|
|
169
|
+
create)
|
|
170
|
+
echo "REMOVE_CREATED $value"
|
|
171
|
+
if [ "$MODE" = "apply" ]; then
|
|
172
|
+
rm -f "$TARGET_REPO/$value"
|
|
173
|
+
fi
|
|
174
|
+
;;
|
|
175
|
+
patch-block)
|
|
176
|
+
echo "REMOVE_BLOCK $value"
|
|
177
|
+
if [ "$MODE" = "apply" ]; then
|
|
178
|
+
remove_managed_block "$value"
|
|
179
|
+
fi
|
|
180
|
+
;;
|
|
181
|
+
package-script)
|
|
182
|
+
echo "REMOVE_PACKAGE_SCRIPT $value"
|
|
183
|
+
if [ "$MODE" = "apply" ]; then
|
|
184
|
+
remove_package_script "$value"
|
|
185
|
+
fi
|
|
186
|
+
;;
|
|
187
|
+
*)
|
|
188
|
+
echo "ERROR: unknown manifest entry kind: $kind" >&2
|
|
189
|
+
exit 1
|
|
190
|
+
;;
|
|
191
|
+
esac
|
|
192
|
+
done < "$MANIFEST_PATH"
|
|
193
|
+
|
|
194
|
+
if [ "$MODE" = "apply" ]; then
|
|
195
|
+
rm -f "$MANIFEST_PATH"
|
|
196
|
+
cleanup_empty_dirs
|
|
197
|
+
echo
|
|
198
|
+
echo "Uninstall completed."
|
|
199
|
+
fi
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
WORKBENCH_REPO="$(cd "$(dirname "$0")/.." && pwd)"
|
|
5
|
+
TMP_ROOT="$(mktemp -d "${TMPDIR:-/tmp}/llm-workbench-install.XXXXXX")"
|
|
6
|
+
TARGET_REPO="$TMP_ROOT/target"
|
|
7
|
+
|
|
8
|
+
cleanup() {
|
|
9
|
+
rm -rf "$TMP_ROOT"
|
|
10
|
+
}
|
|
11
|
+
trap cleanup EXIT
|
|
12
|
+
|
|
13
|
+
mkdir -p "$TARGET_REPO"
|
|
14
|
+
git -C "$TARGET_REPO" init -q
|
|
15
|
+
git -C "$TARGET_REPO" config user.name "llm-workbench smoke test"
|
|
16
|
+
git -C "$TARGET_REPO" config user.email "llm-workbench-smoke@example.invalid"
|
|
17
|
+
|
|
18
|
+
bash "$WORKBENCH_REPO/scripts/install.sh" "$TARGET_REPO"
|
|
19
|
+
|
|
20
|
+
test -f "$TARGET_REPO/AGENTS.md"
|
|
21
|
+
test -f "$TARGET_REPO/bin/llm-workbench.js"
|
|
22
|
+
test -d "$TARGET_REPO/.agentic/00.chat"
|
|
23
|
+
test -d "$TARGET_REPO/scripts/00.chat"
|
|
24
|
+
test -d "$TARGET_REPO/scripts/01.harness"
|
|
25
|
+
test ! -e "$TARGET_REPO/docs/00.chat/public-chat-workbench-adrs.md"
|
|
26
|
+
test ! -e "$TARGET_REPO/docs/harness/architecture/adrs"
|
|
27
|
+
|
|
28
|
+
for required_path in \
|
|
29
|
+
scripts/01.harness/run-governed-script.sh \
|
|
30
|
+
scripts/01.harness/check-deterministic-process-drift.sh \
|
|
31
|
+
scripts/01.harness/check-governed-script-command-drift.sh \
|
|
32
|
+
scripts/01.harness/artifact-metadata/check-headers/script.sh \
|
|
33
|
+
scripts/01.harness/artifact-metadata/check-headers/smoke-test.sh; do
|
|
34
|
+
test -f "$TARGET_REPO/$required_path"
|
|
35
|
+
done
|
|
36
|
+
|
|
37
|
+
for source_only_path in \
|
|
38
|
+
scripts/01.harness/artifact-metadata/backfill-v2-headers/script.sh \
|
|
39
|
+
scripts/01.harness/artifact-metadata/generate-index/script.sh \
|
|
40
|
+
scripts/01.harness/check-artifact-metadata-headers.sh \
|
|
41
|
+
scripts/01.harness/check-artifact-path-migration.sh \
|
|
42
|
+
scripts/01.harness/check-rule-test-taxonomy.sh \
|
|
43
|
+
scripts/01.harness/plan-artifact-path-migration.sh \
|
|
44
|
+
scripts/01.harness/smoke-test-artifact-path-migration.sh; do
|
|
45
|
+
test ! -e "$TARGET_REPO/$source_only_path"
|
|
46
|
+
done
|
|
47
|
+
|
|
48
|
+
if grep -RIEq '\.agentic/01\.harness|scripts/02\.rag-rulebook|\.agentic/02\.rag-rulebook' \
|
|
49
|
+
"$TARGET_REPO/scripts/01.harness"; then
|
|
50
|
+
echo "ERROR: installed target harness scripts reference source-only harness/rulebook surfaces." >&2
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
npm --prefix "$TARGET_REPO" run --silent chat:list >/dev/null
|
|
55
|
+
node "$TARGET_REPO/bin/llm-workbench.js" --help >/dev/null
|
|
56
|
+
|
|
57
|
+
git -C "$TARGET_REPO" add -A
|
|
58
|
+
git -C "$TARGET_REPO" commit -q -m "Install llm-workbench harness"
|
|
59
|
+
|
|
60
|
+
(
|
|
61
|
+
cd "$TARGET_REPO"
|
|
62
|
+
AGENTIC_CHAT_WORKTREE_ROOT="$TMP_ROOT/worktrees" \
|
|
63
|
+
CHAT_COPY_PROMPT=skip CHAT_CLEANUP_EMPTY_BRANCHES=skip \
|
|
64
|
+
CHAT_OPEN_WORKTREE_WINDOW=skip \
|
|
65
|
+
npm run --silent chat:new -- "smoke test first chat startup" >/dev/null
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
find "$TMP_ROOT/worktrees" -path '*/commitLogs/*/README.md' -type f | grep -q .
|
|
69
|
+
|
|
70
|
+
echo "Install smoke test passed."
|