@event4u/agent-config 2.15.0 → 2.17.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 (106) hide show
  1. package/.agent-src/commands/ghostwriter/delete.md +118 -0
  2. package/.agent-src/commands/ghostwriter/fetch.md +185 -0
  3. package/.agent-src/commands/ghostwriter/list.md +102 -0
  4. package/.agent-src/commands/ghostwriter/show.md +113 -0
  5. package/.agent-src/commands/ghostwriter/write.md +160 -0
  6. package/.agent-src/commands/ghostwriter.md +96 -0
  7. package/.agent-src/commands/post-as/ghostwriter.md +66 -0
  8. package/.agent-src/commands/post-as/me.md +124 -0
  9. package/.agent-src/commands/post-as.md +58 -0
  10. package/.agent-src/ghostwriter/README.md +61 -0
  11. package/.agent-src/ghostwriter/fictional-fixture-v1.md +94 -0
  12. package/.agent-src/personas/README.md +8 -0
  13. package/.agent-src/rules/domain-safety-disclaimer-consulting.md +52 -0
  14. package/.agent-src/rules/domain-safety-disclaimer-financial.md +54 -0
  15. package/.agent-src/rules/domain-safety-disclaimer-legal.md +49 -0
  16. package/.agent-src/rules/domain-safety-disclaimer-medical.md +56 -0
  17. package/.agent-src/rules/domain-safety-export-redact.md +65 -0
  18. package/.agent-src/rules/domain-safety-logging-pii-floor.md +55 -0
  19. package/.agent-src/rules/domain-safety-pii-finance.md +57 -0
  20. package/.agent-src/rules/domain-safety-pii-marketing.md +60 -0
  21. package/.agent-src/rules/domain-safety-pii-recruiting.md +56 -0
  22. package/.agent-src/rules/domain-safety-pii-support.md +57 -0
  23. package/.agent-src/rules/domain-safety-retention-finance.md +48 -0
  24. package/.agent-src/rules/domain-safety-retention-support.md +55 -0
  25. package/.agent-src/skills/api-design/SKILL.md +3 -0
  26. package/.agent-src/skills/authz-review/SKILL.md +3 -0
  27. package/.agent-src/skills/competitive-moat-analysis/SKILL.md +3 -0
  28. package/.agent-src/skills/competitive-positioning/SKILL.md +3 -0
  29. package/.agent-src/skills/content-funnel-design/SKILL.md +3 -0
  30. package/.agent-src/skills/contracts-cognition/SKILL.md +3 -0
  31. package/.agent-src/skills/dashboard-design/SKILL.md +3 -0
  32. package/.agent-src/skills/data-handling-judgment/SKILL.md +3 -0
  33. package/.agent-src/skills/dcf-modeling/SKILL.md +3 -0
  34. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +3 -0
  35. package/.agent-src/skills/discovery-interview/SKILL.md +3 -0
  36. package/.agent-src/skills/editorial-calendar/SKILL.md +3 -0
  37. package/.agent-src/skills/forecast-accuracy/SKILL.md +3 -0
  38. package/.agent-src/skills/forecasting/SKILL.md +3 -0
  39. package/.agent-src/skills/fundraising-narrative/SKILL.md +3 -0
  40. package/.agent-src/skills/gtm-launch/SKILL.md +3 -0
  41. package/.agent-src/skills/incident-commander/SKILL.md +3 -0
  42. package/.agent-src/skills/launch-readiness/SKILL.md +3 -0
  43. package/.agent-src/skills/messaging-architecture/SKILL.md +3 -0
  44. package/.agent-src/skills/okr-tree-modeling/SKILL.md +3 -0
  45. package/.agent-src/skills/pipeline-strategy/SKILL.md +3 -0
  46. package/.agent-src/skills/playwright-architect/SKILL.md +3 -0
  47. package/.agent-src/skills/privacy-review/SKILL.md +4 -1
  48. package/.agent-src/skills/quality-tools/SKILL.md +3 -0
  49. package/.agent-src/skills/release-comms/SKILL.md +3 -0
  50. package/.agent-src/skills/runway-cognition/SKILL.md +3 -0
  51. package/.agent-src/skills/scenario-modeling/SKILL.md +3 -0
  52. package/.agent-src/skills/secrets-management/SKILL.md +3 -0
  53. package/.agent-src/skills/tech-debt-tracker/SKILL.md +3 -0
  54. package/.agent-src/skills/unit-economics-modeling/SKILL.md +3 -0
  55. package/.agent-src/skills/voc-extract/SKILL.md +3 -0
  56. package/.agent-src/skills/voice-and-tone-design/SKILL.md +3 -0
  57. package/.agent-src/templates/agents/agent-project-settings.example.yml +16 -1
  58. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +299 -20
  59. package/.claude-plugin/marketplace.json +10 -1
  60. package/CHANGELOG.md +200 -211
  61. package/README.md +55 -23
  62. package/config/gitignore-block.txt +8 -0
  63. package/docs/announcements/2026-05-non-dev-launch.md +79 -0
  64. package/docs/architecture.md +2 -2
  65. package/docs/archive/CHANGELOG-pre-2.15.0.md +244 -0
  66. package/docs/case-studies/_template.md +60 -0
  67. package/docs/catalog.md +24 -3
  68. package/docs/contracts/agent-user-schema.md +1 -0
  69. package/docs/contracts/command-clusters.md +2 -0
  70. package/docs/contracts/file-ownership-matrix.json +490 -0
  71. package/docs/contracts/ghostwriter-schema.md +337 -0
  72. package/docs/contracts/init-telemetry.md +133 -0
  73. package/docs/contracts/router-blending.md +71 -0
  74. package/docs/contracts/universal-skills.md +92 -0
  75. package/docs/contracts/write-engine.md +142 -0
  76. package/docs/getting-started-by-role.md +89 -0
  77. package/docs/getting-started-laravel.md +72 -0
  78. package/docs/getting-started.md +2 -2
  79. package/docs/installation.md +221 -2
  80. package/docs/safety.md +30 -0
  81. package/package.json +1 -1
  82. package/scripts/_cli/cmd_doctor.py +238 -8
  83. package/scripts/_cli/cmd_migrate.py +6 -1
  84. package/scripts/_cli/cmd_prune.py +8 -3
  85. package/scripts/_cli/cmd_sync.py +7 -3
  86. package/scripts/_cli/cmd_uninstall.py +4 -3
  87. package/scripts/_cli/cmd_update.py +5 -1
  88. package/scripts/_cli/cmd_validate.py +6 -3
  89. package/scripts/_cli/cmd_versions.py +15 -2
  90. package/scripts/_lib/agent_settings.py +299 -20
  91. package/scripts/agent-config +64 -0
  92. package/scripts/bench_runner.py +158 -0
  93. package/scripts/check_role_doc_links.py +110 -0
  94. package/scripts/compress.py +11 -0
  95. package/scripts/ghostwriter_fixture_allowlist.txt +16 -0
  96. package/scripts/install +39 -2
  97. package/scripts/install.py +304 -1
  98. package/scripts/install.sh +20 -0
  99. package/scripts/lint_ghostwriter_source.py +240 -0
  100. package/scripts/measure_skill_reduction.py +102 -0
  101. package/scripts/schemas/rule.schema.json +5 -0
  102. package/scripts/schemas/skill.schema.json +6 -0
  103. package/scripts/update-github-metadata.sh +84 -0
  104. package/templates/agent-config-wrapper.sh +7 -0
  105. package/templates/minimal/.agent-settings.yml +23 -0
  106. package/templates/minimal/agents-gitkeep +2 -0
package/docs/catalog.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **461 public artefacts** shipped by
3
+ Consumer-facing catalog of all **482 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
@@ -222,7 +222,7 @@ are excluded.
222
222
  | skill | [`voice-and-tone-design`](../.agent-src/skills/voice-and-tone-design/SKILL.md) | | Use when shaping brand voice — voice attributes, tone-by-context matrix, consistency review. Triggers on 'define our voice', 'why does our copy sound different on every surface'. |
223
223
  | skill | [`websocket`](../.agent-src/skills/websocket/SKILL.md) | | Use when building real-time features — WebSocket broadcasting, live updates, presence channels, connection state — even when the user just says 'push this to the client live'. |
224
224
 
225
- ## Rules (64)
225
+ ## Rules (76)
226
226
 
227
227
  | kind | name | type | description |
228
228
  |---|---|---|---|
@@ -246,6 +246,18 @@ are excluded.
246
246
  | rule | [`direct-answers`](../.agent-src/rules/direct-answers.md) | always | Always — direct, unembellished answers. No flattery, no invented facts (verify load-bearing claims, otherwise ask). Emojis only as functional markers. Brevity is the default. |
247
247
  | rule | [`docker-commands`](../.agent-src/rules/docker-commands.md) | auto | Running PHP commands inside Docker containers — artisan, composer, phpstan, rector, ecs, phpunit, tests, migrations, and any CLI tool execution |
248
248
  | rule | [`domain-adoption-policy`](../.agent-src/rules/domain-adoption-policy.md) | auto | Adopting a new domain track (mobile, ML, blockchain, IoT, gaming) — gates import on demand, ownership, CI fit, Sunset compatibility BEFORE harvest |
249
+ | rule | [`domain-safety-disclaimer-consulting`](../.agent-src/rules/domain-safety-disclaimer-consulting.md) | auto | Drafting strategic recommendations, executive memos, board decks, or consulting deliverables — cite assumptions; flag low-confidence claims |
250
+ | rule | [`domain-safety-disclaimer-financial`](../.agent-src/rules/domain-safety-disclaimer-financial.md) | auto | Drafting investment memos, valuation models, tax positions, or financial-advice-shaped content — require 'not financial advice' disclaimer |
251
+ | rule | [`domain-safety-disclaimer-legal`](../.agent-src/rules/domain-safety-disclaimer-legal.md) | auto | Drafting legal briefs, contract redlines, ToS, privacy policies, or any legal-shaped content — require 'not legal advice' disclaimer in output |
252
+ | rule | [`domain-safety-disclaimer-medical`](../.agent-src/rules/domain-safety-disclaimer-medical.md) | auto | Drafting health, wellness, medical, or therapeutic content — require 'not medical advice' disclaimer; refuse diagnostic or dosage outputs |
253
+ | rule | [`domain-safety-export-redact`](../.agent-src/rules/domain-safety-export-redact.md) | auto | Generating CSV / Excel / API exports, partner data-shares, or analyst handoffs — redact direct identifiers; flag re-identification on quasi-IDs |
254
+ | rule | [`domain-safety-logging-pii-floor`](../.agent-src/rules/domain-safety-logging-pii-floor.md) | auto | Writing logging code, structured logger config, or log lines — refuse to log raw PII; require redaction or a structured-field allowlist |
255
+ | rule | [`domain-safety-pii-finance`](../.agent-src/rules/domain-safety-pii-finance.md) | auto | Drafting invoices, financial reports, AR/AP statements, or finance memos — redact counterparty PII and account/bank identifiers before output |
256
+ | rule | [`domain-safety-pii-marketing`](../.agent-src/rules/domain-safety-pii-marketing.md) | auto | Drafting testimonials, case studies, social proof, or marketing emails referencing real customers — require consent; redact identifiers if absent |
257
+ | rule | [`domain-safety-pii-recruiting`](../.agent-src/rules/domain-safety-pii-recruiting.md) | auto | Drafting candidate notes, interview scorecards, rejection emails, or hiring memos — redact candidate PII before output |
258
+ | rule | [`domain-safety-pii-support`](../.agent-src/rules/domain-safety-pii-support.md) | auto | Generating support macros, ticket responses, or help-desk drafts — redact customer PII before output (names, emails, phones, account IDs, addresses) |
259
+ | rule | [`domain-safety-retention-finance`](../.agent-src/rules/domain-safety-retention-finance.md) | auto | Finance data retention guidance — flag jurisdiction dependence, default to longest applicable retention, never delete records under audit hold |
260
+ | rule | [`domain-safety-retention-support`](../.agent-src/rules/domain-safety-retention-support.md) | auto | Support / CRM data retention guidance — surface DSR-readiness, consent-window expiry, ticket-body retention vs. analytics aggregate retention |
249
261
  | rule | [`downstream-changes`](../.agent-src/rules/downstream-changes.md) | auto | After EVERY code edit, find ALL downstream changes needed to existing files, including callers, tests, imports, types, and documentation |
250
262
  | rule | [`e2e-testing`](../.agent-src/rules/e2e-testing.md) | auto | Playwright E2E tests — locators, assertions, Page Objects, fixtures, CI, and flaky test prevention |
251
263
  | rule | [`external-reference-deep-dive`](../.agent-src/rules/external-reference-deep-dive.md) | auto | User names an external repo, file, URL, or artifact as reference — fetch the actual tree and inspect, never summarize from README or metadata |
@@ -291,7 +303,7 @@ are excluded.
291
303
  | rule | [`user-interaction`](../.agent-src/rules/user-interaction.md) | auto | Asking the user a question, presenting options, or summarizing progress — numbered-options Iron Law, single-recommendation rule, progress indicators |
292
304
  | rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
293
305
 
294
- ## Commands (115)
306
+ ## Commands (124)
295
307
 
296
308
  | kind | name | cluster | description |
297
309
  |---|---|---|---|
@@ -351,6 +363,12 @@ are excluded.
351
363
  | command | [`fix:refs`](../.agent-src/commands/fix/refs.md) | cluster: fix | Find and fix broken cross-references in .augment/ and agents/ files |
352
364
  | command | [`fix:seeder`](../.agent-src/commands/fix/seeder.md) | cluster: fix | Scan seeder data files for broken foreign key references — find constants used without getReference() and fix them |
353
365
  | command | [`fix`](../.agent-src/commands/fix.md) | cluster: fix | Fix orchestrator — routes to ci, references, portability, seeder, pr-comments, pr-bot-comments, pr-developer-comments |
366
+ | command | [`ghostwriter:delete`](../.agent-src/commands/ghostwriter/delete.md) | cluster: ghostwriter | Hard-delete a ghostwriter profile at agents/ghostwriter/<slug>.md after a two-step confirmation. No backup, no soft delete — the file is gone after acceptance. |
367
+ | command | [`ghostwriter:fetch`](../.agent-src/commands/ghostwriter/fetch.md) | cluster: ghostwriter | Build or refresh a public-figure voice profile at agents/ghostwriter/<slug>.md from a URL or bare name; runs the public-figure attestation gate; delegates web-fetch / web-search to the host agent. |
368
+ | command | [`ghostwriter:list`](../.agent-src/commands/ghostwriter/list.md) | cluster: ghostwriter | List captured ghostwriter profiles under agents/ghostwriter/ as a numbered table with confidence, last-fetched, and stale-warning flags. Read-only. |
369
+ | command | [`ghostwriter:show`](../.agent-src/commands/ghostwriter/show.md) | cluster: ghostwriter | Render a single ghostwriter profile in full — identity, style fingerprint, voice samples, taboos, source URLs. Read-only. |
370
+ | command | [`ghostwriter:write`](../.agent-src/commands/ghostwriter/write.md) | cluster: ghostwriter | Draft a markdown post in the voice of a captured public-figure ghostwriter profile; appends the mandatory non-removable disclosure footer. |
371
+ | command | [`ghostwriter`](../.agent-src/commands/ghostwriter.md) | cluster: ghostwriter | Ghostwriter cluster — fetch, write, list, show, and delete public-figure voice profiles (the third voice primitive alongside personas/ and .agent-user.md). |
354
372
  | command | [`grill-me`](../.agent-src/commands/grill-me.md) | cluster: challenge-me | Alias for /challenge-me — interactive grill-style interview that sharpens a fuzzy plan/idea into a copyable Markdown pitch |
355
373
  | command | [`implement-ticket`](../.agent-src/commands/implement-ticket.md) | | Drive a ticket end-to-end through refine → memory → analyze → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, block-on-ambiguity, no auto-git. |
356
374
  | command | [`jira-ticket`](../.agent-src/commands/jira-ticket.md) | | Read Jira ticket from branch name, analyze linked Sentry issues, implement feature or fix bug |
@@ -382,6 +400,9 @@ are excluded.
382
400
  | command | [`override`](../.agent-src/commands/override.md) | cluster: override | Override orchestrator — routes to create, manage |
383
401
  | command | [`package-reset`](../.agent-src/commands/package-reset.md) | | /package-reset |
384
402
  | command | [`package-test`](../.agent-src/commands/package-test.md) | | /package-test |
403
+ | command | [`post-as:ghostwriter`](../.agent-src/commands/post-as/ghostwriter.md) | cluster: post-as | Thin alias for /ghostwriter:write — drafts a copyable markdown post in a captured public-figure voice with the mandatory non-removable disclosure footer. |
404
+ | command | [`post-as:me`](../.agent-src/commands/post-as/me.md) | cluster: post-as | Draft a copyable markdown post in the maintainer's own voice (style source = .agent-user.md.voice_sample). No disclosure footer — the user is the author. |
405
+ | command | [`post-as`](../.agent-src/commands/post-as.md) | cluster: post-as | Consumer-facing write entry points — :me drafts in the maintainer's own voice from .agent-user.md (no disclosure); :ghostwriter is a thin alias for /ghostwriter:write (mandatory disclosure footer). |
385
406
  | command | [`prepare-for-review`](../.agent-src/commands/prepare-for-review.md) | | Prepare a PR branch for local review — updates main and merges the full branch chain so the branch is up to date |
386
407
  | command | [`project-analyze`](../.agent-src/commands/project-analyze.md) | | Full project analysis — detect stack, inventory modules, audit docs, create missing contexts |
387
408
  | command | [`project-health`](../.agent-src/commands/project-health.md) | | Quick project health check — show status of docs, modules, contexts, and roadmaps without creating anything |
@@ -163,3 +163,4 @@ Copy it to the project root as `.agent-user.md` and edit, or run
163
163
 
164
164
  - [`language-and-tone`](../../.agent-src/rules/language-and-tone.md) — language-mirroring rule the loader feeds.
165
165
  - [`agents-md-thin-root`](../../.agent-src/skills/agents-md-thin-root/SKILL.md) — Thin-Root contract that this file complements (user-state vs project-state).
166
+ - [`ghostwriter-schema`](ghostwriter-schema.md) — sibling voice primitive for **external public-figure** voices (`/ghostwriter:write`, mandatory disclosure footer). `.agent-user.md` covers the maintainer's **own** voice (`/post-as:me`, no footer); the three-primitive model is summarised in [`personas/README.md § See also — sibling voice primitives`](../../.agent-src/personas/README.md).
@@ -47,6 +47,8 @@ column 1 of this table.
47
47
  | `research` | 2 | `deep` · `report` | preliminary-research scaffolder ported from `Weizhena/Deep-Research-skills` (cluster head emits `outline.yaml` + `fields.yaml` against the `research-schema` contract). `:deep` populates per-item JSON in batches with native web-search + JSON-Schema self-validation (no Python runtime); `:report` renders `report.md` directly + optionally emits a `jq` template for deterministic regeneration. `add-items` / `add-fields` intentionally **not** ported — re-run `/research <topic>` to extend the field framework. |
48
48
  | `orchestrate` | — | _(none yet — cluster head only)_ | new — runtime executor for YAML pipelines under `.agent-config/orchestrations/` per the [`orchestration-dsl-v1`](orchestration-dsl-v1.md) contract; chains personas / skills / commands / sub-agents deterministically. Single cluster head; sub-commands deferred until a second verb is needed. |
49
49
  | `sync-gitignore` | — | `fix` | new sub-command 2026-05-11 — cluster head retains the existing append-only sync as its default flow; `:fix` adds `--cleanup-legacy` semantics, scrubbing pre-`/agents/` runtime patterns wherever they appear in the consumer's `.gitignore` (inside or outside the managed block) and re-syncing the canonical entries. |
50
+ | `ghostwriter` | — | `fetch` · `write` · `list` · `show` · `delete` | new cluster 2026-05-15 — third voice primitive for AI-assisted writing in the public voice of a public figure. Hybrid storage: real-person profiles live consumer-side under `agents/ghostwriter/<slug>.md` (gitignored by default); package source ships only `fictional: true` fixtures. Zero network code in the package — `:fetch` delegates web-fetch / web-search to the host agent. Mandatory disclosure footer on every `:write` output (no opt-out). Schema: [`ghostwriter-schema`](ghostwriter-schema.md). |
51
+ | `post-as` | — | `me` · `ghostwriter` | new cluster 2026-05-15 — consumer-facing write entry points. `:me` reads `.agent-user.md.voice_sample` and drafts in the maintainer's own voice (no disclosure footer — the user is the author); `:ghostwriter` is a thin alias for `/ghostwriter:write` with the mandatory disclosure footer. Both share the procedural [`write-engine`](write-engine.md) contract — style source and footer are the only axes of variation. |
50
52
 
51
53
  **Net change:** Phase 1 collapsed 15 atomics → 3 clusters; Phase 2
52
54
  collapses 26 atomics → 11 sub-command clusters. Sub-commands use
@@ -339,6 +339,42 @@
339
339
  "load_context": [],
340
340
  "load_context_eager": []
341
341
  },
342
+ ".agent-src.uncompressed/commands/ghostwriter.md": {
343
+ "kind": "command",
344
+ "rule_type": "orchestrator",
345
+ "load_context": [],
346
+ "load_context_eager": []
347
+ },
348
+ ".agent-src.uncompressed/commands/ghostwriter/delete.md": {
349
+ "kind": "command",
350
+ "rule_type": null,
351
+ "load_context": [],
352
+ "load_context_eager": []
353
+ },
354
+ ".agent-src.uncompressed/commands/ghostwriter/fetch.md": {
355
+ "kind": "command",
356
+ "rule_type": null,
357
+ "load_context": [],
358
+ "load_context_eager": []
359
+ },
360
+ ".agent-src.uncompressed/commands/ghostwriter/list.md": {
361
+ "kind": "command",
362
+ "rule_type": null,
363
+ "load_context": [],
364
+ "load_context_eager": []
365
+ },
366
+ ".agent-src.uncompressed/commands/ghostwriter/show.md": {
367
+ "kind": "command",
368
+ "rule_type": null,
369
+ "load_context": [],
370
+ "load_context_eager": []
371
+ },
372
+ ".agent-src.uncompressed/commands/ghostwriter/write.md": {
373
+ "kind": "command",
374
+ "rule_type": null,
375
+ "load_context": [],
376
+ "load_context_eager": []
377
+ },
342
378
  ".agent-src.uncompressed/commands/grill-me.md": {
343
379
  "kind": "command",
344
380
  "rule_type": "orchestrator",
@@ -525,6 +561,24 @@
525
561
  "load_context": [],
526
562
  "load_context_eager": []
527
563
  },
564
+ ".agent-src.uncompressed/commands/post-as.md": {
565
+ "kind": "command",
566
+ "rule_type": "orchestrator",
567
+ "load_context": [],
568
+ "load_context_eager": []
569
+ },
570
+ ".agent-src.uncompressed/commands/post-as/ghostwriter.md": {
571
+ "kind": "command",
572
+ "rule_type": null,
573
+ "load_context": [],
574
+ "load_context_eager": []
575
+ },
576
+ ".agent-src.uncompressed/commands/post-as/me.md": {
577
+ "kind": "command",
578
+ "rule_type": null,
579
+ "load_context": [],
580
+ "load_context_eager": []
581
+ },
528
582
  ".agent-src.uncompressed/commands/prepare-for-review.md": {
529
583
  "kind": "command",
530
584
  "rule_type": null,
@@ -1203,6 +1257,78 @@
1203
1257
  "load_context": [],
1204
1258
  "load_context_eager": []
1205
1259
  },
1260
+ ".agent-src.uncompressed/rules/domain-safety-disclaimer-consulting.md": {
1261
+ "kind": "rule",
1262
+ "rule_type": "auto",
1263
+ "load_context": [],
1264
+ "load_context_eager": []
1265
+ },
1266
+ ".agent-src.uncompressed/rules/domain-safety-disclaimer-financial.md": {
1267
+ "kind": "rule",
1268
+ "rule_type": "auto",
1269
+ "load_context": [],
1270
+ "load_context_eager": []
1271
+ },
1272
+ ".agent-src.uncompressed/rules/domain-safety-disclaimer-legal.md": {
1273
+ "kind": "rule",
1274
+ "rule_type": "auto",
1275
+ "load_context": [],
1276
+ "load_context_eager": []
1277
+ },
1278
+ ".agent-src.uncompressed/rules/domain-safety-disclaimer-medical.md": {
1279
+ "kind": "rule",
1280
+ "rule_type": "auto",
1281
+ "load_context": [],
1282
+ "load_context_eager": []
1283
+ },
1284
+ ".agent-src.uncompressed/rules/domain-safety-export-redact.md": {
1285
+ "kind": "rule",
1286
+ "rule_type": "auto",
1287
+ "load_context": [],
1288
+ "load_context_eager": []
1289
+ },
1290
+ ".agent-src.uncompressed/rules/domain-safety-logging-pii-floor.md": {
1291
+ "kind": "rule",
1292
+ "rule_type": "auto",
1293
+ "load_context": [],
1294
+ "load_context_eager": []
1295
+ },
1296
+ ".agent-src.uncompressed/rules/domain-safety-pii-finance.md": {
1297
+ "kind": "rule",
1298
+ "rule_type": "auto",
1299
+ "load_context": [],
1300
+ "load_context_eager": []
1301
+ },
1302
+ ".agent-src.uncompressed/rules/domain-safety-pii-marketing.md": {
1303
+ "kind": "rule",
1304
+ "rule_type": "auto",
1305
+ "load_context": [],
1306
+ "load_context_eager": []
1307
+ },
1308
+ ".agent-src.uncompressed/rules/domain-safety-pii-recruiting.md": {
1309
+ "kind": "rule",
1310
+ "rule_type": "auto",
1311
+ "load_context": [],
1312
+ "load_context_eager": []
1313
+ },
1314
+ ".agent-src.uncompressed/rules/domain-safety-pii-support.md": {
1315
+ "kind": "rule",
1316
+ "rule_type": "auto",
1317
+ "load_context": [],
1318
+ "load_context_eager": []
1319
+ },
1320
+ ".agent-src.uncompressed/rules/domain-safety-retention-finance.md": {
1321
+ "kind": "rule",
1322
+ "rule_type": "auto",
1323
+ "load_context": [],
1324
+ "load_context_eager": []
1325
+ },
1326
+ ".agent-src.uncompressed/rules/domain-safety-retention-support.md": {
1327
+ "kind": "rule",
1328
+ "rule_type": "auto",
1329
+ "load_context": [],
1330
+ "load_context_eager": []
1331
+ },
1206
1332
  ".agent-src.uncompressed/rules/downstream-changes.md": {
1207
1333
  "kind": "rule",
1208
1334
  "rule_type": "auto",
@@ -3687,6 +3813,202 @@
3687
3813
  "via": "self",
3688
3814
  "depth": 0
3689
3815
  },
3816
+ {
3817
+ "source": ".agent-src.uncompressed/commands/ghostwriter.md",
3818
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3819
+ "type": "WRITE",
3820
+ "via": "self",
3821
+ "depth": 0
3822
+ },
3823
+ {
3824
+ "source": ".agent-src.uncompressed/commands/ghostwriter.md",
3825
+ "target": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
3826
+ "type": "READ_ONLY",
3827
+ "via": "body_link",
3828
+ "depth": 1
3829
+ },
3830
+ {
3831
+ "source": ".agent-src.uncompressed/commands/ghostwriter.md",
3832
+ "target": ".agent-src.uncompressed/commands/post-as/me.md",
3833
+ "type": "READ_ONLY",
3834
+ "via": "body_link",
3835
+ "depth": 1
3836
+ },
3837
+ {
3838
+ "source": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3839
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3840
+ "type": "READ_ONLY",
3841
+ "via": "body_link",
3842
+ "depth": 1
3843
+ },
3844
+ {
3845
+ "source": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3846
+ "target": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3847
+ "type": "WRITE",
3848
+ "via": "self",
3849
+ "depth": 0
3850
+ },
3851
+ {
3852
+ "source": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3853
+ "target": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3854
+ "type": "READ_ONLY",
3855
+ "via": "body_link",
3856
+ "depth": 1
3857
+ },
3858
+ {
3859
+ "source": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3860
+ "target": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3861
+ "type": "READ_ONLY",
3862
+ "via": "body_link",
3863
+ "depth": 1
3864
+ },
3865
+ {
3866
+ "source": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3867
+ "target": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3868
+ "type": "READ_ONLY",
3869
+ "via": "body_link",
3870
+ "depth": 1
3871
+ },
3872
+ {
3873
+ "source": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3874
+ "target": ".agent-src.uncompressed/commands/agents/user/accept.md",
3875
+ "type": "READ_ONLY",
3876
+ "via": "body_link",
3877
+ "depth": 1
3878
+ },
3879
+ {
3880
+ "source": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3881
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3882
+ "type": "READ_ONLY",
3883
+ "via": "body_link",
3884
+ "depth": 1
3885
+ },
3886
+ {
3887
+ "source": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3888
+ "target": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3889
+ "type": "WRITE",
3890
+ "via": "self",
3891
+ "depth": 0
3892
+ },
3893
+ {
3894
+ "source": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3895
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3896
+ "type": "READ_ONLY",
3897
+ "via": "body_link",
3898
+ "depth": 1
3899
+ },
3900
+ {
3901
+ "source": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3902
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3903
+ "type": "READ_ONLY",
3904
+ "via": "body_link",
3905
+ "depth": 1
3906
+ },
3907
+ {
3908
+ "source": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3909
+ "target": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3910
+ "type": "READ_ONLY",
3911
+ "via": "body_link",
3912
+ "depth": 1
3913
+ },
3914
+ {
3915
+ "source": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3916
+ "target": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3917
+ "type": "WRITE",
3918
+ "via": "self",
3919
+ "depth": 0
3920
+ },
3921
+ {
3922
+ "source": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3923
+ "target": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3924
+ "type": "READ_ONLY",
3925
+ "via": "body_link",
3926
+ "depth": 1
3927
+ },
3928
+ {
3929
+ "source": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3930
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3931
+ "type": "READ_ONLY",
3932
+ "via": "body_link",
3933
+ "depth": 1
3934
+ },
3935
+ {
3936
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3937
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3938
+ "type": "READ_ONLY",
3939
+ "via": "body_link",
3940
+ "depth": 1
3941
+ },
3942
+ {
3943
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3944
+ "target": ".agent-src.uncompressed/commands/ghostwriter/delete.md",
3945
+ "type": "READ_ONLY",
3946
+ "via": "body_link",
3947
+ "depth": 1
3948
+ },
3949
+ {
3950
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3951
+ "target": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3952
+ "type": "READ_ONLY",
3953
+ "via": "body_link",
3954
+ "depth": 1
3955
+ },
3956
+ {
3957
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3958
+ "target": ".agent-src.uncompressed/commands/ghostwriter/list.md",
3959
+ "type": "READ_ONLY",
3960
+ "via": "body_link",
3961
+ "depth": 1
3962
+ },
3963
+ {
3964
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3965
+ "target": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3966
+ "type": "WRITE",
3967
+ "via": "self",
3968
+ "depth": 0
3969
+ },
3970
+ {
3971
+ "source": ".agent-src.uncompressed/commands/ghostwriter/show.md",
3972
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3973
+ "type": "READ_ONLY",
3974
+ "via": "body_link",
3975
+ "depth": 1
3976
+ },
3977
+ {
3978
+ "source": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3979
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
3980
+ "type": "READ_ONLY",
3981
+ "via": "body_link",
3982
+ "depth": 1
3983
+ },
3984
+ {
3985
+ "source": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3986
+ "target": ".agent-src.uncompressed/commands/ghostwriter/fetch.md",
3987
+ "type": "READ_ONLY",
3988
+ "via": "body_link",
3989
+ "depth": 1
3990
+ },
3991
+ {
3992
+ "source": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3993
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
3994
+ "type": "WRITE",
3995
+ "via": "self",
3996
+ "depth": 0
3997
+ },
3998
+ {
3999
+ "source": ".agent-src.uncompressed/commands/ghostwriter/write.md",
4000
+ "target": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4001
+ "type": "READ_ONLY",
4002
+ "via": "body_link",
4003
+ "depth": 1
4004
+ },
4005
+ {
4006
+ "source": ".agent-src.uncompressed/commands/ghostwriter/write.md",
4007
+ "target": ".agent-src.uncompressed/commands/post-as/me.md",
4008
+ "type": "READ_ONLY",
4009
+ "via": "body_link",
4010
+ "depth": 1
4011
+ },
3690
4012
  {
3691
4013
  "source": ".agent-src.uncompressed/commands/grill-me.md",
3692
4014
  "target": ".agent-src.uncompressed/commands/challenge-me.md",
@@ -4128,6 +4450,90 @@
4128
4450
  "via": "self",
4129
4451
  "depth": 0
4130
4452
  },
4453
+ {
4454
+ "source": ".agent-src.uncompressed/commands/post-as.md",
4455
+ "target": ".agent-src.uncompressed/commands/ghostwriter.md",
4456
+ "type": "READ_ONLY",
4457
+ "via": "body_link",
4458
+ "depth": 1
4459
+ },
4460
+ {
4461
+ "source": ".agent-src.uncompressed/commands/post-as.md",
4462
+ "target": ".agent-src.uncompressed/commands/post-as.md",
4463
+ "type": "WRITE",
4464
+ "via": "self",
4465
+ "depth": 0
4466
+ },
4467
+ {
4468
+ "source": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4469
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
4470
+ "type": "READ_ONLY",
4471
+ "via": "body_link",
4472
+ "depth": 1
4473
+ },
4474
+ {
4475
+ "source": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4476
+ "target": ".agent-src.uncompressed/commands/post-as.md",
4477
+ "type": "READ_ONLY",
4478
+ "via": "body_link",
4479
+ "depth": 1
4480
+ },
4481
+ {
4482
+ "source": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4483
+ "target": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4484
+ "type": "WRITE",
4485
+ "via": "self",
4486
+ "depth": 0
4487
+ },
4488
+ {
4489
+ "source": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4490
+ "target": ".agent-src.uncompressed/commands/post-as/me.md",
4491
+ "type": "READ_ONLY",
4492
+ "via": "body_link",
4493
+ "depth": 1
4494
+ },
4495
+ {
4496
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4497
+ "target": ".agent-src.uncompressed/commands/agents/user/init.md",
4498
+ "type": "READ_ONLY",
4499
+ "via": "body_link",
4500
+ "depth": 1
4501
+ },
4502
+ {
4503
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4504
+ "target": ".agent-src.uncompressed/commands/agents/user/update.md",
4505
+ "type": "READ_ONLY",
4506
+ "via": "body_link",
4507
+ "depth": 1
4508
+ },
4509
+ {
4510
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4511
+ "target": ".agent-src.uncompressed/commands/ghostwriter/write.md",
4512
+ "type": "READ_ONLY",
4513
+ "via": "body_link",
4514
+ "depth": 1
4515
+ },
4516
+ {
4517
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4518
+ "target": ".agent-src.uncompressed/commands/post-as.md",
4519
+ "type": "READ_ONLY",
4520
+ "via": "body_link",
4521
+ "depth": 1
4522
+ },
4523
+ {
4524
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4525
+ "target": ".agent-src.uncompressed/commands/post-as/ghostwriter.md",
4526
+ "type": "READ_ONLY",
4527
+ "via": "body_link",
4528
+ "depth": 1
4529
+ },
4530
+ {
4531
+ "source": ".agent-src.uncompressed/commands/post-as/me.md",
4532
+ "target": ".agent-src.uncompressed/commands/post-as/me.md",
4533
+ "type": "WRITE",
4534
+ "via": "self",
4535
+ "depth": 0
4536
+ },
4131
4537
  {
4132
4538
  "source": ".agent-src.uncompressed/commands/prepare-for-review.md",
4133
4539
  "target": ".agent-src.uncompressed/commands/prepare-for-review.md",
@@ -6200,6 +6606,90 @@
6200
6606
  "via": "body_link",
6201
6607
  "depth": 1
6202
6608
  },
6609
+ {
6610
+ "source": ".agent-src.uncompressed/rules/domain-safety-disclaimer-consulting.md",
6611
+ "target": ".agent-src.uncompressed/rules/domain-safety-disclaimer-consulting.md",
6612
+ "type": "WRITE",
6613
+ "via": "self",
6614
+ "depth": 0
6615
+ },
6616
+ {
6617
+ "source": ".agent-src.uncompressed/rules/domain-safety-disclaimer-financial.md",
6618
+ "target": ".agent-src.uncompressed/rules/domain-safety-disclaimer-financial.md",
6619
+ "type": "WRITE",
6620
+ "via": "self",
6621
+ "depth": 0
6622
+ },
6623
+ {
6624
+ "source": ".agent-src.uncompressed/rules/domain-safety-disclaimer-legal.md",
6625
+ "target": ".agent-src.uncompressed/rules/domain-safety-disclaimer-legal.md",
6626
+ "type": "WRITE",
6627
+ "via": "self",
6628
+ "depth": 0
6629
+ },
6630
+ {
6631
+ "source": ".agent-src.uncompressed/rules/domain-safety-disclaimer-medical.md",
6632
+ "target": ".agent-src.uncompressed/rules/domain-safety-disclaimer-medical.md",
6633
+ "type": "WRITE",
6634
+ "via": "self",
6635
+ "depth": 0
6636
+ },
6637
+ {
6638
+ "source": ".agent-src.uncompressed/rules/domain-safety-export-redact.md",
6639
+ "target": ".agent-src.uncompressed/rules/domain-safety-export-redact.md",
6640
+ "type": "WRITE",
6641
+ "via": "self",
6642
+ "depth": 0
6643
+ },
6644
+ {
6645
+ "source": ".agent-src.uncompressed/rules/domain-safety-logging-pii-floor.md",
6646
+ "target": ".agent-src.uncompressed/rules/domain-safety-logging-pii-floor.md",
6647
+ "type": "WRITE",
6648
+ "via": "self",
6649
+ "depth": 0
6650
+ },
6651
+ {
6652
+ "source": ".agent-src.uncompressed/rules/domain-safety-pii-finance.md",
6653
+ "target": ".agent-src.uncompressed/rules/domain-safety-pii-finance.md",
6654
+ "type": "WRITE",
6655
+ "via": "self",
6656
+ "depth": 0
6657
+ },
6658
+ {
6659
+ "source": ".agent-src.uncompressed/rules/domain-safety-pii-marketing.md",
6660
+ "target": ".agent-src.uncompressed/rules/domain-safety-pii-marketing.md",
6661
+ "type": "WRITE",
6662
+ "via": "self",
6663
+ "depth": 0
6664
+ },
6665
+ {
6666
+ "source": ".agent-src.uncompressed/rules/domain-safety-pii-recruiting.md",
6667
+ "target": ".agent-src.uncompressed/rules/domain-safety-pii-recruiting.md",
6668
+ "type": "WRITE",
6669
+ "via": "self",
6670
+ "depth": 0
6671
+ },
6672
+ {
6673
+ "source": ".agent-src.uncompressed/rules/domain-safety-pii-support.md",
6674
+ "target": ".agent-src.uncompressed/rules/domain-safety-pii-support.md",
6675
+ "type": "WRITE",
6676
+ "via": "self",
6677
+ "depth": 0
6678
+ },
6679
+ {
6680
+ "source": ".agent-src.uncompressed/rules/domain-safety-retention-finance.md",
6681
+ "target": ".agent-src.uncompressed/rules/domain-safety-retention-finance.md",
6682
+ "type": "WRITE",
6683
+ "via": "self",
6684
+ "depth": 0
6685
+ },
6686
+ {
6687
+ "source": ".agent-src.uncompressed/rules/domain-safety-retention-support.md",
6688
+ "target": ".agent-src.uncompressed/rules/domain-safety-retention-support.md",
6689
+ "type": "WRITE",
6690
+ "via": "self",
6691
+ "depth": 0
6692
+ },
6203
6693
  {
6204
6694
  "source": ".agent-src.uncompressed/rules/downstream-changes.md",
6205
6695
  "target": ".agent-src.uncompressed/rules/downstream-changes.md",