@precisionutilityguild/liquid-shadow 1.0.9 → 1.0.10
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 +3 -3
- package/dist/data/migrations/000_baseline.sql +17 -0
- package/dist/data/migrations/014_tribunal_state.sql +24 -0
- package/dist/data/migrations/015_repo_level_handoffs_nullable.sql +52 -0
- package/dist/data/migrations/016_repair_tribunal_artifact_fk.sql +58 -0
- package/dist/entry/cli/index.js +540 -493
- package/dist/entry/ember/index.js +44 -20
- package/dist/entry/mcp/server.js +388 -347
- package/dist/entry/tribunal/index.js +650 -0
- package/dist/index.js +387 -346
- package/dist/logic/parser/index.js +16 -16
- package/dist/skills/shadow_audit/SKILL.md +22 -30
- package/dist/skills/shadow_chronicle/SKILL.md +16 -29
- package/dist/skills/shadow_continue/SKILL.md +37 -53
- package/dist/skills/shadow_coordinate/SKILL.md +46 -0
- package/dist/skills/shadow_crystallize/SKILL.md +13 -27
- package/dist/skills/shadow_mission/SKILL.md +27 -41
- package/dist/skills/shadow_onboard/SKILL.md +26 -35
- package/dist/skills/shadow_research/SKILL.md +15 -23
- package/dist/skills/shadow_sync/SKILL.md +18 -9
- package/dist/skills/shadow_synthesize/SKILL.md +14 -36
- package/dist/skills/shadow_trace_impact/SKILL.md +30 -50
- package/dist/skills/shadow_understand/SKILL.md +37 -52
- package/dist/skills/shadow_workspace/SKILL.md +17 -17
- package/dist/web-manifest.json +13 -6
- package/package.json +1 -1
- package/skills/shadow_audit/SKILL.md +22 -30
- package/skills/shadow_chronicle/SKILL.md +16 -29
- package/skills/shadow_continue/SKILL.md +37 -53
- package/skills/shadow_coordinate/SKILL.md +46 -0
- package/skills/shadow_crystallize/SKILL.md +13 -27
- package/skills/shadow_mission/SKILL.md +27 -41
- package/skills/shadow_onboard/SKILL.md +26 -35
- package/skills/shadow_research/SKILL.md +15 -23
- package/skills/shadow_sync/SKILL.md +18 -9
- package/skills/shadow_synthesize/SKILL.md +14 -36
- package/skills/shadow_trace_impact/SKILL.md +30 -50
- package/skills/shadow_understand/SKILL.md +37 -52
- package/skills/shadow_workspace/SKILL.md +17 -17
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
9
|
-
<img src="https://img.shields.io/badge/version-1.0.
|
|
9
|
+
<img src="https://img.shields.io/badge/version-1.0.10-blue.svg" alt="Version">
|
|
10
10
|
<img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License">
|
|
11
11
|
<img src="https://img.shields.io/badge/build-passing-brightgreen.svg" alt="Build">
|
|
12
12
|
<img src="https://img.shields.io/badge/MCP-First-6D28D9.svg" alt="MCP First">
|
|
@@ -42,7 +42,7 @@ Change one function, see the ripple. Trace execution flows and predict the **Bla
|
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
45
|
-
## The Tactical Suite (
|
|
45
|
+
## The Tactical Suite (45 Atomic Tools)
|
|
46
46
|
|
|
47
47
|
Organized into specialized intelligence suites for the modern agent:
|
|
48
48
|
|
|
@@ -80,7 +80,7 @@ liquid-shadow dashboard
|
|
|
80
80
|
|
|
81
81
|
### 3. The Skills-First Loop
|
|
82
82
|
|
|
83
|
-
Liquid Shadow is designed for **Autonomy**. While it provides
|
|
83
|
+
Liquid Shadow is designed for **Autonomy**. While it provides 45 atomic tools, the primary interface for an agent is the **Skills** system. Running `liquid-shadow init` automatically injects these high-level workflows into the agent's environment.
|
|
84
84
|
|
|
85
85
|
#### High-Signal Workflows
|
|
86
86
|
|
|
@@ -257,6 +257,23 @@ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('started_at', NULL);
|
|
|
257
257
|
INSERT OR IGNORE INTO ember_state (key, value) VALUES ('pid', NULL);
|
|
258
258
|
INSERT OR IGNORE INTO ember_state (key, value) VALUES ('repo_path', NULL);
|
|
259
259
|
|
|
260
|
+
CREATE TABLE IF NOT EXISTS tribunal_state (
|
|
261
|
+
session_id TEXT PRIMARY KEY,
|
|
262
|
+
mission_id INTEGER,
|
|
263
|
+
repo_path TEXT NOT NULL,
|
|
264
|
+
status TEXT DEFAULT 'running',
|
|
265
|
+
phase TEXT DEFAULT 'initializing',
|
|
266
|
+
pid INTEGER,
|
|
267
|
+
artifact_id INTEGER,
|
|
268
|
+
started_at REAL DEFAULT (unixepoch()),
|
|
269
|
+
completed_at REAL,
|
|
270
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE SET NULL,
|
|
271
|
+
FOREIGN KEY(artifact_id) REFERENCES mission_artifacts(id) ON DELETE SET NULL
|
|
272
|
+
);
|
|
273
|
+
|
|
274
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_mission_id ON tribunal_state(mission_id);
|
|
275
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_status ON tribunal_state(status);
|
|
276
|
+
|
|
260
277
|
-- ── Metadata / caches ────────────────────────────────────────
|
|
261
278
|
|
|
262
279
|
CREATE TABLE IF NOT EXISTS index_metadata (
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- Tribunal daemon session state for asynchronous mission peer-review runs.
|
|
2
|
+
-- Session UUID is the primary key; pid is advisory-only for debugging.
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS tribunal_state (
|
|
5
|
+
session_id TEXT PRIMARY KEY,
|
|
6
|
+
mission_id INTEGER,
|
|
7
|
+
repo_path TEXT NOT NULL,
|
|
8
|
+
status TEXT DEFAULT 'running',
|
|
9
|
+
phase TEXT DEFAULT 'initializing',
|
|
10
|
+
pid INTEGER,
|
|
11
|
+
artifact_id INTEGER,
|
|
12
|
+
started_at REAL DEFAULT (unixepoch()),
|
|
13
|
+
completed_at REAL,
|
|
14
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE SET NULL,
|
|
15
|
+
FOREIGN KEY(artifact_id) REFERENCES mission_artifacts(id) ON DELETE SET NULL
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_mission_id ON tribunal_state(mission_id);
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_status ON tribunal_state(status);
|
|
20
|
+
|
|
21
|
+
-- DOWN
|
|
22
|
+
DROP INDEX IF EXISTS idx_tribunal_status;
|
|
23
|
+
DROP INDEX IF EXISTS idx_tribunal_mission_id;
|
|
24
|
+
DROP TABLE IF EXISTS tribunal_state;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
PRAGMA foreign_keys = OFF;
|
|
2
|
+
|
|
3
|
+
ALTER TABLE mission_artifacts RENAME TO mission_artifacts_old;
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS mission_artifacts (
|
|
6
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
7
|
+
mission_id INTEGER,
|
|
8
|
+
type TEXT NOT NULL,
|
|
9
|
+
identifier TEXT NOT NULL,
|
|
10
|
+
metadata TEXT,
|
|
11
|
+
embedding TEXT DEFAULT NULL,
|
|
12
|
+
created_at INTEGER DEFAULT (unixepoch()),
|
|
13
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE CASCADE
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
INSERT INTO mission_artifacts (id, mission_id, type, identifier, metadata, embedding, created_at)
|
|
17
|
+
SELECT id, NULLIF(mission_id, 0), type, identifier, metadata, embedding, created_at
|
|
18
|
+
FROM mission_artifacts_old;
|
|
19
|
+
|
|
20
|
+
DROP TABLE mission_artifacts_old;
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_mission_artifacts_mission ON mission_artifacts(mission_id);
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_mission_artifacts_embedding ON mission_artifacts(id) WHERE embedding IS NOT NULL;
|
|
24
|
+
|
|
25
|
+
PRAGMA foreign_keys = ON;
|
|
26
|
+
|
|
27
|
+
-- DOWN
|
|
28
|
+
PRAGMA foreign_keys = OFF;
|
|
29
|
+
|
|
30
|
+
ALTER TABLE mission_artifacts RENAME TO mission_artifacts_new;
|
|
31
|
+
|
|
32
|
+
CREATE TABLE IF NOT EXISTS mission_artifacts (
|
|
33
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
34
|
+
mission_id INTEGER NOT NULL,
|
|
35
|
+
type TEXT NOT NULL,
|
|
36
|
+
identifier TEXT NOT NULL,
|
|
37
|
+
metadata TEXT,
|
|
38
|
+
embedding TEXT DEFAULT NULL,
|
|
39
|
+
created_at INTEGER DEFAULT (unixepoch()),
|
|
40
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE CASCADE
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
INSERT INTO mission_artifacts (id, mission_id, type, identifier, metadata, embedding, created_at)
|
|
44
|
+
SELECT id, COALESCE(mission_id, 0), type, identifier, metadata, embedding, created_at
|
|
45
|
+
FROM mission_artifacts_new;
|
|
46
|
+
|
|
47
|
+
DROP TABLE mission_artifacts_new;
|
|
48
|
+
|
|
49
|
+
CREATE INDEX IF NOT EXISTS idx_mission_artifacts_mission ON mission_artifacts(mission_id);
|
|
50
|
+
CREATE INDEX IF NOT EXISTS idx_mission_artifacts_embedding ON mission_artifacts(id) WHERE embedding IS NOT NULL;
|
|
51
|
+
|
|
52
|
+
PRAGMA foreign_keys = ON;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
PRAGMA foreign_keys = OFF;
|
|
2
|
+
|
|
3
|
+
ALTER TABLE tribunal_state RENAME TO tribunal_state_old;
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS tribunal_state (
|
|
6
|
+
session_id TEXT PRIMARY KEY,
|
|
7
|
+
mission_id INTEGER,
|
|
8
|
+
repo_path TEXT NOT NULL,
|
|
9
|
+
status TEXT DEFAULT 'running',
|
|
10
|
+
phase TEXT DEFAULT 'initializing',
|
|
11
|
+
pid INTEGER,
|
|
12
|
+
artifact_id INTEGER,
|
|
13
|
+
started_at REAL DEFAULT (unixepoch()),
|
|
14
|
+
completed_at REAL,
|
|
15
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE SET NULL,
|
|
16
|
+
FOREIGN KEY(artifact_id) REFERENCES mission_artifacts(id) ON DELETE SET NULL
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
INSERT INTO tribunal_state (session_id, mission_id, repo_path, status, phase, pid, artifact_id, started_at, completed_at)
|
|
20
|
+
SELECT session_id, mission_id, repo_path, status, phase, pid, artifact_id, started_at, completed_at
|
|
21
|
+
FROM tribunal_state_old;
|
|
22
|
+
|
|
23
|
+
DROP TABLE tribunal_state_old;
|
|
24
|
+
|
|
25
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_mission_id ON tribunal_state(mission_id);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_status ON tribunal_state(status);
|
|
27
|
+
|
|
28
|
+
PRAGMA foreign_keys = ON;
|
|
29
|
+
|
|
30
|
+
-- DOWN
|
|
31
|
+
PRAGMA foreign_keys = OFF;
|
|
32
|
+
|
|
33
|
+
ALTER TABLE tribunal_state RENAME TO tribunal_state_new;
|
|
34
|
+
|
|
35
|
+
CREATE TABLE IF NOT EXISTS tribunal_state (
|
|
36
|
+
session_id TEXT PRIMARY KEY,
|
|
37
|
+
mission_id INTEGER,
|
|
38
|
+
repo_path TEXT NOT NULL,
|
|
39
|
+
status TEXT DEFAULT 'running',
|
|
40
|
+
phase TEXT DEFAULT 'initializing',
|
|
41
|
+
pid INTEGER,
|
|
42
|
+
artifact_id INTEGER,
|
|
43
|
+
started_at REAL DEFAULT (unixepoch()),
|
|
44
|
+
completed_at REAL,
|
|
45
|
+
FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE SET NULL,
|
|
46
|
+
FOREIGN KEY(artifact_id) REFERENCES mission_artifacts_old(id) ON DELETE SET NULL
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
INSERT INTO tribunal_state (session_id, mission_id, repo_path, status, phase, pid, artifact_id, started_at, completed_at)
|
|
50
|
+
SELECT session_id, mission_id, repo_path, status, phase, pid, artifact_id, started_at, completed_at
|
|
51
|
+
FROM tribunal_state_new;
|
|
52
|
+
|
|
53
|
+
DROP TABLE tribunal_state_new;
|
|
54
|
+
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_mission_id ON tribunal_state(mission_id);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_tribunal_status ON tribunal_state(status);
|
|
57
|
+
|
|
58
|
+
PRAGMA foreign_keys = ON;
|