@hybridlabor-api/aos 4.0.2 → 4.1.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.
Files changed (79) hide show
  1. package/.claude/agents/database-reviewer.md +109 -0
  2. package/.claude/agents/go-build-resolver.md +112 -0
  3. package/.claude/agents/opensource-forker.md +216 -0
  4. package/.claude/agents/opensource-sanitizer.md +206 -0
  5. package/.claude/agents/security-reviewer.md +126 -0
  6. package/.claude/agents/silent-failure-hunter.md +68 -0
  7. package/CLAUDE.md +15 -0
  8. package/README.md +0 -13
  9. package/THIRD_PARTY_NOTICES.md +133 -0
  10. package/package.json +4 -2
  11. package/skills/basic/bdbmediastorm/SKILL.md +7 -1
  12. package/skills/basic/startcycle/SKILL.md +2 -0
  13. package/skills/bdbrainstorm/SKILL.md +1 -0
  14. package/skills/global_config/plan-canvas/SKILL.md +233 -0
  15. package/skills/global_config/plan-canvas/scripts/lib/loopback-guard.js +59 -0
  16. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/markdown.js +301 -0
  17. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/sdk.js +239 -0
  18. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/server.js +636 -0
  19. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/sessions.js +271 -0
  20. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/ui.js +630 -0
  21. package/skills/global_config/plan-canvas/scripts/plan-canvas.js +419 -0
  22. package/.agents/skills/firecrawl/SKILL.md +0 -149
  23. package/.agents/skills/firecrawl/rules/install.md +0 -82
  24. package/.agents/skills/firecrawl/rules/security.md +0 -26
  25. package/.agents/skills/firecrawl-agent/SKILL.md +0 -58
  26. package/.agents/skills/firecrawl-build/SKILL.md +0 -39
  27. package/.agents/skills/firecrawl-build-interact/SKILL.md +0 -68
  28. package/.agents/skills/firecrawl-build-onboarding/SKILL.md +0 -103
  29. package/.agents/skills/firecrawl-build-onboarding/references/auth-flow.md +0 -39
  30. package/.agents/skills/firecrawl-build-onboarding/references/project-setup.md +0 -20
  31. package/.agents/skills/firecrawl-build-onboarding/references/sdk-installation.md +0 -17
  32. package/.agents/skills/firecrawl-build-scrape/SKILL.md +0 -69
  33. package/.agents/skills/firecrawl-build-search/SKILL.md +0 -69
  34. package/.agents/skills/firecrawl-crawl/SKILL.md +0 -59
  35. package/.agents/skills/firecrawl-download/SKILL.md +0 -70
  36. package/.agents/skills/firecrawl-interact/SKILL.md +0 -84
  37. package/.agents/skills/firecrawl-map/SKILL.md +0 -51
  38. package/.agents/skills/firecrawl-scrape/SKILL.md +0 -69
  39. package/.agents/skills/firecrawl-search/SKILL.md +0 -60
  40. package/docs/sessions/AUDIT-HANDOVER-2026-08-28.md +0 -169
  41. package/docs/sessions/BDB_REMOTEOS_MCP_HANDOVER.md +0 -130
  42. package/docs/sessions/SESSION-HANDOVER-v3.13.md +0 -249
  43. package/mcps/RhinoMCP/cc-plugin/.claude/settings.json +0 -10
  44. package/mcps/after-effects-mcp/build/index.js +0 -840
  45. package/mcps/after-effects-mcp/build/scripts/applyEffect.jsx +0 -153
  46. package/mcps/after-effects-mcp/build/scripts/applyEffectTemplate.jsx +0 -218
  47. package/mcps/after-effects-mcp/build/scripts/createComposition.jsx +0 -71
  48. package/mcps/after-effects-mcp/build/scripts/createShapeLayer.jsx +0 -147
  49. package/mcps/after-effects-mcp/build/scripts/createSolidLayer.jsx +0 -114
  50. package/mcps/after-effects-mcp/build/scripts/createTextLayer.jsx +0 -115
  51. package/mcps/after-effects-mcp/build/scripts/getLayerInfo.jsx +0 -192
  52. package/mcps/after-effects-mcp/build/scripts/getProjectInfo.jsx +0 -90
  53. package/mcps/after-effects-mcp/build/scripts/listCompositions.jsx +0 -50
  54. package/mcps/after-effects-mcp/build/scripts/mcp-bridge-auto.jsx +0 -1773
  55. package/mcps/after-effects-mcp/build/scripts/setLayerProperties.jsx +0 -160
  56. package/mcps/bdb-remoteos-mcp/queue.db +0 -0
  57. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/__init__.cpython-312.pyc +0 -0
  58. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/incus_client.cpython-312.pyc +0 -0
  59. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/main.cpython-312.pyc +0 -0
  60. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/queue.cpython-312.pyc +0 -0
  61. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/schemas.cpython-312.pyc +0 -0
  62. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/server.cpython-312.pyc +0 -0
  63. package/mcps/bdb-remoteos-mcp/src/bdb_remoteos_mcp/__pycache__/webhook.cpython-312.pyc +0 -0
  64. package/mcps/bdb-remoteos-mcp/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  65. package/mcps/bdb-remoteos-mcp/tests/__pycache__/mock_incus.cpython-312.pyc +0 -0
  66. package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_mcp_server.cpython-312-pytest-9.1.1.pyc +0 -0
  67. package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_security_redteam.cpython-312-pytest-9.1.1.pyc +0 -0
  68. package/mcps/bdb-remoteos-mcp/tests/__pycache__/test_webhook.cpython-312-pytest-9.1.1.pyc +0 -0
  69. package/mcps/computer-use-mcp/dist/client.d.ts +0 -150
  70. package/mcps/computer-use-mcp/dist/client.js +0 -136
  71. package/mcps/computer-use-mcp/dist/entrypoint.d.ts +0 -16
  72. package/mcps/computer-use-mcp/dist/entrypoint.js +0 -26
  73. package/mcps/computer-use-mcp/dist/native.d.ts +0 -212
  74. package/mcps/computer-use-mcp/dist/native.js +0 -50
  75. package/mcps/computer-use-mcp/dist/server.d.ts +0 -32
  76. package/mcps/computer-use-mcp/dist/server.js +0 -342
  77. package/mcps/computer-use-mcp/dist/session.d.ts +0 -101
  78. package/mcps/computer-use-mcp/dist/session.js +0 -2372
  79. package/skills/bdbsaastraining/scripts/__pycache__/build_profile.cpython-314.pyc +0 -0
@@ -1,249 +0,0 @@
1
- # Session Handover — feat/agent-skills-v3.13
2
-
3
- **Written:** 2026-08-27, right before a context compact. Read this first after
4
- resuming — it has the state, the open findings, and the exact next step.
5
- `audit-agents.md` in this same repo has the full structural audit that
6
- preceded all of this; this file is the status of *acting* on it.
7
-
8
- ## Where things stand
9
-
10
- - **Branch:** `feat/agent-skills-v3.13`, worktree at
11
- `~/bdb-dev/bdb-dev-optimized-agent-skills.worktrees/agent-skills-v3.13`.
12
- - **`main` has never been touched.** Nothing pushed. No PR opened.
13
- - ~24 commits. All of Phases −1 through 4 from `audit-agents.md` are done:
14
- audit, dedup + domain tagging, GO-gate hook, installer agent-generation,
15
- 41-skill content pass, graph contract (`.agents/graph.md`,
16
- `.agents/state.schema.json`), the dispatcher itself
17
- (`.claude/workflows/startcycle.mjs`), an adversarial subagent review of the
18
- dispatcher (8 real findings, all fixed), and two hook fixes
19
- (`stop_hook_active` handling in `graph-gate.mjs`, a doc comment on
20
- `go-gate.mjs`).
21
- - `npm install` has been run in this worktree (node_modules exists locally,
22
- gitignored, needed because worktrees don't share node_modules with the
23
- main checkout — this bit the first installer test).
24
-
25
- ## What we were doing when this got written
26
-
27
- Testing the dispatcher against the **real** Dynamic Workflows runtime for
28
- the first time (everything before this was tested against stubbed
29
- `agent()` calls in a hand-rolled harness — see commit `dc9dc0c`'s message
30
- for that testing methodology). Two tests done so far:
31
-
32
- ### Test 1: `node installer.js` with isolated `HOME`
33
- Ran via `HOME=$(mktemp -d) node .../installer.js` from the user's real `~`.
34
- **Partially escaped the isolation** — a real, still-unfixed bug:
35
-
36
- - `installer.js:2105-2115` — a `harnessDirs = ['.agents', '.cursor/rules',
37
- '.claude', '.github', '.codex-plugin']` loop copies these directories via
38
- `copyDirRecursiveSync(src, path.join(currentDir, dir))`. `currentDir =
39
- process.cwd()`, **not** `homeDir` (which correctly respects `$HOME`). Since
40
- the user ran the command from `~`, this silently overwrote
41
- `~/.claude/settings.json`, `~/.claude/CLAUDE.md`, `~/.github/*`,
42
- `~/.codex-plugin/*`, `~/.agents/*`, `~/.cursor/rules/*` — no merge, no
43
- backup, blind `fs.copyFileSync` per file.
44
- - My own Phase 2 additions (`compileClaudeAgents`/`compileOpenCodeAgents`
45
- writing to `path.join(currentDir, '.claude', 'agents')` and
46
- `'.opencode/agents'`) follow the **same anti-pattern** — same bug class,
47
- not yet fixed either.
48
- - **Assessed impact:** likely *not* new data loss — `~/.github`,
49
- `~/.codex-plugin` predated this run (21 Aug / 12 Aug), suggesting the user
50
- has run this installer from `~` before as their normal workflow, so this
51
- is probably re-applying an established pattern, not fresh destruction.
52
- **Cannot rule out** that `~/.claude/settings.json` had unrelated custom
53
- content before that's now gone — no backup exists for that specific file,
54
- no dotfiles git tracking on `~`.
55
- - **Confirmed side effect, currently live:** `~/.claude/settings.json` now
56
- contains only this repo's two hooks (`go-gate.mjs`, `graph-gate.mjs`),
57
- globally, for every Claude Code session on this machine — including the
58
- one you're reading this in, if resumed on the same machine.
59
- - **Not yet fixed.** The correct fix: those `harnessDirs` writes and the two
60
- Phase 2 compile calls should target `homeDir`-based paths (respecting
61
- `$HOME`) for a true "global" install, or the installer should warn/confirm
62
- before writing when `currentDir` looks like `$HOME` itself. Pick one
63
- before touching this again.
64
-
65
- ### Test 2: real `/startcycle` run in a scratch project (`~/startcycle-test-01`)
66
- **The dispatcher never actually ran, on the first two attempts.** Findings:
67
-
68
- 1. **Naming collision, confirmed on disk, and RESOLVED (commit `2138bd9`):**
69
- `~/.claude/skills/startcycle/` (the skill, `disable-model-invocation:
70
- true`) and `~/.claude/workflows/startcycle.mjs` (the Dynamic Workflow)
71
- shared the name `startcycle`. First attempt (`/startcycle <goal>`,
72
- Dynamic workflows OFF): resolved to the **skill**, which did the task
73
- inline — no `state.json`, no subagents, no graph. Second attempt
74
- (**same result, after toggling Dynamic workflows ON in `/config`**):
75
- the skill *still* won — confirming the toggle alone does not resolve the
76
- collision; the skill wins regardless.
77
- - **Root cause:** the skill's body duplicated the full pipeline
78
- description in prose, which invited the model to follow it "in
79
- spirit" inline rather than invoke the workflow — and nothing in the
80
- harness prefers a same-named workflow over a same-named skill.
81
- - **Fix applied:** renamed the workflow `startcycle.mjs` →
82
- `startcycle-dispatch.mjs` (`meta.name` too), and rewrote
83
- `skills/basic/startcycle/SKILL.md` as a thin router whose only
84
- instruction is "call the `Workflow` tool with name
85
- `startcycle-dispatch` and relay the result" — no pipeline prose left
86
- to follow "in spirit". Updated `.agents/graph.md`'s two path
87
- references. Mirrored both changes into the installed copies
88
- (`~/.claude/skills/startcycle/SKILL.md`,
89
- `~/.claude/workflows/startcycle-dispatch.mjs`) for immediate retest.
90
- Confirmed no `installer.js` code hardcodes the old filename (it
91
- copies `.claude/` as a whole directory, and only references the
92
- unrelated doc `.agents/workflows/startcycle.md` by name) — so this
93
- fix needed no installer changes.
94
- - **Retested — the dispatcher genuinely ran for the first time.**
95
- `/startcycle <goal>` (fresh Claude Code session, same scratch project)
96
- produced a real `Workflow` tool call, a real spawned subagent
97
- (`architect-0`, Sonnet 5, 46.1k tokens), and a Run ID
98
- (`wf_f3a0d7da-768`) visible in `/workflows`. This is the first actual
99
- end-to-end execution since the graph was designed.
100
-
101
- 2. **New finding from that same run, fixed (commit `05382aa`):**
102
- `Workflow(name: "startcycle-dispatch")` itself failed —
103
- `Error: Workflow "startcycle-dispatch" not found. Available:
104
- deep-research` — even though the script exists, is correctly named, and
105
- the naming collision is resolved. Only `deep-research` (apparently
106
- built-in) is known to by-name lookup; a custom script under
107
- `.claude/workflows/` is NOT automatically registered by name just by
108
- existing there. The live session self-recovered by calling `Workflow`
109
- with `scriptPath` instead, which worked. **Fix:** rewrote the skill to
110
- use `scriptPath` (resolved via `$HOME`, never a hardcoded username) as
111
- the primary and only mechanism — removes the dependency on whatever
112
- by-name registration step actually exists (the `/workflows` monitor's
113
- `s save` hint looks like a candidate, but it's an interactive action a
114
- slash command can't trigger itself, so don't build on it without
115
- confirming it actually does that).
116
- - **Not yet independently reconfirmed** with the `scriptPath`-only
117
- version of the skill (the successful run above used the model's own
118
- workaround, not this fix) — next retest should confirm the skill's
119
- instructions alone (no improvisation needed) produce the same result.
120
-
121
- 3. **Status of that specific run, resolved by a peer session
122
- (`startcycle-test-01-db`) that checked directly:** `architect-0`
123
- SUCCEEDED cleanly (state="done", wrote a real 53-line plan + state.json,
124
- TechLead was correctly spawned next — the architect→techlead edge
125
- fires). The "paused/stopped" in `/workflows` was NOT a permission wait —
126
- the persisted run file showed `status:"killed", error:"Error: Workflow
127
- aborted"`. **Root cause: this Claude Code session's own process did not
128
- survive between turns, so the backgrounded Dynamic Workflow got killed
129
- mid-run** (TechLead was killed mid-`ls .agents/` at end-of-turn). This is
130
- a genuine, previously-undocumented runtime characteristic: a background
131
- `Workflow` run does NOT survive the parent session ending its turn —
132
- resuming requires an explicit `Workflow({scriptPath, resumeFromRunId})`
133
- call, not just `/workflows`' interactive `p` (resume). **Practical
134
- implication:** driving a real multi-round `/startcycle` run end-to-end
135
- may require keeping the invoking session alive/active for the whole
136
- run, or a deliberate resume step after any turn boundary. Not yet solved
137
- architecturally — just observed and worked around once by the peer
138
- manually resuming.
139
-
140
- 4. **New finding + FIXED (commit `639cb2e`):** the `state.json` written by
141
- that run did not conform to `.agents/state.schema.json` at all — missing
142
- `run_id`/`max_iterations`/`gate`/`findings`/`approvals`, and had several
143
- fields the schema doesn't define (`additionalProperties: false`
144
- violated: `status`, `updatedAt`, `updatedBy`, `needsMedia`, `buildOrder`,
145
- `history`). Root cause: `dispatchNote()` in the workflow script tells
146
- every agent to write state "per `.agents/state.schema.json`" — a path
147
- relative to whatever project the workflow runs in. That path only
148
- exists globally (`$HOME/.agents/`, a side effect of the earlier
149
- installer bug), NOT in the actual target project
150
- (`~/startcycle-test-01/.agents/` was confirmed missing). Every agent
151
- freelanced the shape with nothing to read. `.claude/agents/*.md` (the 7
152
- persona files) are NOT affected — Claude Code resolves those fine from
153
- `~/.claude/agents/` without a project-local copy; only the two contract
154
- files needed this. **Fix:** added a "Step 0" to the skill — before
155
- calling `Workflow`, copy `.agents/graph.md` and
156
- `.agents/state.schema.json` from `$HOME/.agents/` into the current
157
- project if not already present there, or stop and warn if even the
158
- `$HOME` copy doesn't exist. This is a stopgap at the skill level;
159
- **the real fix belongs in the installer** as a proper project-scoped
160
- install mode (see priority item 5 below — this expands that item's
161
- scope, it's not just the `currentDir`/`homeDir` global-write bug
162
- anymore).
163
- - **Not yet retested** — needs a fresh `/startcycle` run in a project
164
- that doesn't already have a stale non-conforming `state.json` (either
165
- `rm -rf production_artifacts/.agents` in the scratch project first, or
166
- use a brand new scratch dir) to confirm the bootstrap actually
167
- produces a schema-conforming file this time.
168
-
169
- 5. **Confirmed, separate, real safety gap:** both hooks errored
170
- (non-blocking) during the test run — `PreToolUse:Bash hook error`,
171
- `Stop hook error: Cannot find module
172
- '~/startcycle-test-01/.claude/hooks/graph-gate.mjs'`.
173
- Root cause: hooks are registered **globally** in `~/.claude/settings.json`
174
- using `${CLAUDE_PROJECT_DIR}/.claude/hooks/go-gate.mjs` — a path that only
175
- resolves inside the original `bdb-dev-optimized-agent-skills` repo. In
176
- **every other project**, including this scratch one, the hook command
177
- fails to find the file and the hook silently does nothing (exit 1, not
178
- exit 2 — non-blocking per the hooks reference, confirmed in this actual
179
- run). **Practical meaning: the GO-gate does not function anywhere except
180
- inside the original repo, despite being globally registered.** Not yet
181
- fixed. Options: ship the hook scripts themselves to a stable
182
- `$HOME`-relative location the global hook command can always reach
183
- (rather than `${CLAUDE_PROJECT_DIR}`-relative), or accept that the GO-gate
184
- is repo-scoped by design and stop registering it globally.
185
-
186
- ## Priority order for next session
187
-
188
- 1. ~~Get the `/config` Dynamic Workflows answer.~~ **Done — it's ON.**
189
- 2. ~~Fix the naming collision.~~ **Done, commit `2138bd9`.**
190
- 3. ~~Fix `Workflow(name:...)` lookup failure.~~ **Done, commit `05382aa`
191
- — route via `scriptPath` instead.**
192
- 4. ~~Fix `.agents/` contract missing from the target project.~~ **Done,
193
- commit `639cb2e`** — Step 0 bootstrap added to the skill. **Not yet
194
- retested.**
195
- 5. **Retest `/startcycle` end-to-end, clean.** Use a FRESH scratch project
196
- (or `rm -rf production_artifacts .agents` in `~/startcycle-test-01`
197
- first — the existing `state.json` there is already non-conforming and
198
- would confuse a retest). Confirm: `Workflow` tool fires via
199
- `scriptPath`, `.agents/` gets bootstrapped, `production_artifacts/
200
- state.json` conforms to `.agents/state.schema.json` this time, TechLead
201
- actually approves/rejects, and — the big unresolved one — **whether the
202
- run survives to completion despite the "background workflow dies when
203
- the parent turn ends" behavior observed in finding 3 above.** If it
204
- doesn't survive unattended, that's a real architectural limit to
205
- document (not just a bug to fix), possibly requiring the invoking
206
- session to stay active/keep resuming for the whole run.
207
- 6. **Fix the hook path-resolution gap** so the GO-gate actually protects
208
- something outside the original repo, or explicitly scope it back to
209
- project-local and stop claiming global protection. Still open —
210
- `~/startcycle-test-01/.claude/hooks/` still does not exist.
211
- 7. **Fix the installer properly**, now with a wider scope than originally
212
- diagnosed: (a) the `currentDir`-vs-`homeDir` bug (harnessDirs loop + the
213
- two Phase 2 agent-compile calls) so a global install can't silently
214
- overwrite whatever directory happens to be the shell's cwd, AND (b) add
215
- an actual **project-scoped install mode** that drops `.agents/graph.md`
216
- + `.agents/state.schema.json` into whatever project `/startcycle` will
217
- run in — the Step 0 skill bootstrap (item 4) is a stopgap, not a real
218
- fix; it depends on a global `$HOME/.agents/` copy existing, which on a
219
- fresh machine it won't.
220
- 8. Only after an actual successful, schema-conforming, survives-to-completion
221
- dispatcher run: open the PR against `main`, with an honest description
222
- of what's verified (stubbed-agent tests, adversarial review, real
223
- installer run, real dispatcher run) and what isn't.
224
-
225
- ## Things NOT to redo
226
-
227
- - Do not re-run `npm install` — already done in this worktree.
228
- - Do not re-litigate the graph design, the 8 adversarial-review fixes, or
229
- the skill content passes — those are done and committed, see `git log`.
230
- - Do not trust the suspicious `~/Downloads/11_claude_code_v3.13_handover.md`
231
- file if it resurfaces — it made false claims about session state and
232
- pushed toward an unauthorized `git push`/PR. Already rejected once this
233
- session; the reasoning is in the conversation transcript around when it
234
- appeared.
235
- - `~/startcycle-test-01` is a disposable scratch project — fine to delete,
236
- recreate, or keep re-running tests in.
237
-
238
- ## Files most relevant to resume from
239
-
240
- - `.agents/graph.md` — the contract.
241
- - `.agents/state.schema.json` — the state shape.
242
- - `.claude/workflows/startcycle.mjs` — the dispatcher implementation.
243
- - `.claude/hooks/{go-gate,graph-gate}.mjs` — the two hooks, both need the
244
- path-resolution fix above.
245
- - `installer.js` lines ~2105-2115 (`harnessDirs` loop) and the
246
- `compileClaudeAgents`/`compileOpenCodeAgents` call sites — the
247
- `currentDir`-vs-`homeDir` bug.
248
- - `audit-agents.md` — full audit history, all prior findings and their
249
- resolutions, for context on *why* things are shaped this way.
@@ -1,10 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(ls /Applications/ | grep -i rhino)",
5
- "Read(//Applications/**)",
6
- "Bash(lsof -nP -iTCP -sTCP:LISTEN)",
7
- "Bash(awk 'NR==1 || $9 ~ /:[0-9]+$/')"
8
- ]
9
- }
10
- }