arkaos 4.43.0 → 4.45.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 (50) hide show
  1. package/THE-ARKAOS-GUIDE.md +1 -1
  2. package/VERSION +1 -1
  3. package/config/hooks/agent-provision.sh +35 -14
  4. package/config/output-styles/arkaos.md +1 -1
  5. package/core/governance/aggregate_guard.py +32 -6
  6. package/core/governance/quality_api.py +13 -17
  7. package/core/governance/review_workflow.py +26 -12
  8. package/core/hooks/session_start.py +17 -0
  9. package/core/hooks/stop.py +67 -21
  10. package/core/runtime/opencode_hooks.py +13 -10
  11. package/core/synapse/layers.py +85 -12
  12. package/harness/codex/AGENTS.md +1 -1
  13. package/harness/copilot/copilot-instructions.md +1 -1
  14. package/harness/cursor/rules/arkaos.mdc +2 -2
  15. package/harness/gemini/GEMINI.md +1 -1
  16. package/harness/opencode/AGENTS.md +1 -1
  17. package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
  18. package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
  19. package/harness/opencode/agents/arka-cfo-helena.md +1 -1
  20. package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
  21. package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
  22. package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
  23. package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
  24. package/harness/opencode/agents/arka-coo-sofia.md +1 -1
  25. package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
  26. package/harness/opencode/agents/arka-cqo-marta.md +1 -1
  27. package/harness/opencode/agents/arka-cto-marco.md +1 -1
  28. package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
  29. package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
  30. package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
  31. package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
  32. package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
  33. package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
  34. package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
  35. package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
  36. package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
  37. package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
  38. package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
  39. package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
  40. package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
  41. package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
  42. package/harness/zed/.rules +1 -1
  43. package/installer/adapters/claude-code.js +88 -3
  44. package/installer/doctor.js +121 -3
  45. package/installer/index.js +17 -0
  46. package/installer/skill-deploy.js +43 -2
  47. package/installer/update.js +12 -0
  48. package/knowledge/skills-manifest.json +1 -1
  49. package/package.json +1 -1
  50. package/pyproject.toml +1 -1
@@ -386,8 +386,89 @@ class BranchLayer(Layer):
386
386
  # --- L5: Command Hints ---
387
387
 
388
388
 
389
+ # PR-A4: department slug -> deployed hub-skill directory. Both slug
390
+ # vocabularies reach this layer — the registry department field (which
391
+ # says "leadership") and the command-prefix slugs (which say "lead") —
392
+ # and both must resolve. Registry values need no key: identity already
393
+ # yields the right hub (leadership -> arka-leadership). The keys exist
394
+ # for the four prefix slugs whose hub directory differs (mkt, fin,
395
+ # strat, lead — the same alias set
396
+ # tests/python/test_skill_routing_integrity.py pins) plus the two
397
+ # orchestrator entries ("arka" and "do" both belong to the main
398
+ # orchestrator skill; /do is the universal router in arka/SKILL.md).
399
+ # An unknown department falls back to the identity form — a
400
+ # wrong-but-plausible hint beats a crashed layer.
401
+ _DEPT_HUB_EXCEPTIONS = {
402
+ "mkt": "arka-marketing",
403
+ "fin": "arka-finance",
404
+ "strat": "arka-strategy",
405
+ "lead": "arka-leadership",
406
+ "arka": "arka",
407
+ "do": "arka",
408
+ }
409
+
410
+
411
+ def _hub_skill(department: str) -> str:
412
+ return _DEPT_HUB_EXCEPTIONS.get(department, f"arka-{department}")
413
+
414
+
415
+ def _hint_department(cmd: dict) -> str:
416
+ """Department for the hint's hub skill.
417
+
418
+ Falls back to the command prefix ("/dev feature" -> "dev",
419
+ "/arka-do" -> "arka") for registry entries that predate the
420
+ department field — an approximate hub beats no hint.
421
+ """
422
+ dept = str(cmd.get("department", ""))
423
+ if dept:
424
+ return dept
425
+ prefix = str(cmd.get("command", "")).lstrip("/").split(" ")[0]
426
+ return prefix.split("-")[0]
427
+
428
+
429
+ def _score_commands(
430
+ commands: list[dict], text: str
431
+ ) -> list[tuple[int, str, str]]:
432
+ """Keyword-score the registry commands against the prompt text,
433
+ best score first; zero-score commands never qualify."""
434
+ scored = []
435
+ for cmd in commands:
436
+ keywords = cmd.get("keywords", [])
437
+ score = sum(1 for kw in keywords if kw.lower() in text)
438
+ if score > 0:
439
+ scored.append((
440
+ score,
441
+ cmd.get("command", ""),
442
+ _hint_department(cmd),
443
+ ))
444
+ scored.sort(reverse=True)
445
+ return scored
446
+
447
+
448
+ def _hint_tag(top: list[tuple[int, str, str]]) -> str:
449
+ """Render the imperative hint tag for the top-scored commands.
450
+
451
+ EACH hint pairs the command with ITS OWN department's hub — the
452
+ top-2 can legitimately span two departments ("standup color
453
+ palette" matches /brand colors AND /pm story on the live registry),
454
+ and a hint whose hub belongs to the other command is a dead
455
+ instruction (QG A4, Francisca B1).
456
+ """
457
+ return " ".join(
458
+ f"[arka:skill-hint] Skill({_hub_skill(dept)}) -> {command}"
459
+ for _, command, dept in top
460
+ )
461
+
462
+
389
463
  class CommandHintsLayer(Layer):
390
- """L5: Matching commands from the registry for non-explicit requests."""
464
+ """L5: Matching commands from the registry for non-explicit requests.
465
+
466
+ PR-A4: hints are IMPERATIVE — `[arka:skill-hint] Skill(arka-dev) ->
467
+ /dev feature <description>` names the exact tool call that fulfils
468
+ the route. The old `[hint:/cmd]` form was declarative and routinely
469
+ ignored: the model announced the squad in prose and the skill's
470
+ content never entered context.
471
+ """
391
472
 
392
473
  def __init__(self, commands: list[dict] | None = None) -> None:
393
474
  self._commands = commands or []
@@ -429,18 +510,10 @@ class CommandHintsLayer(Layer):
429
510
  cached=False,
430
511
  )
431
512
 
432
- # Score commands by keyword match
433
- scored = []
434
- for cmd in self._commands:
435
- keywords = cmd.get("keywords", [])
436
- score = sum(1 for kw in keywords if kw.lower() in text)
437
- if score > 0:
438
- scored.append((score, cmd.get("command", "")))
439
-
440
- scored.sort(reverse=True)
441
- hints = [cmd for _, cmd in scored[:2]]
513
+ top = _score_commands(self._commands, text)[:2]
514
+ hints = [command for _, command, _ in top]
442
515
 
443
- tags = " ".join(f"[hint:{h}]" for h in hints)
516
+ tags = _hint_tag(top)
444
517
  ms = int((time.time() - start) * 1000)
445
518
  return LayerResult(
446
519
  layer_id=self.id,
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,11 +1,11 @@
1
1
  ---
2
- description: ArkaOS v4.43.0 agent-team contract
2
+ description: ArkaOS v4.45.0 agent-team contract
3
3
  alwaysApply: true
4
4
  ---
5
5
 
6
6
  # ArkaOS — The Operating System for AI Agent Teams
7
7
 
8
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
8
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
9
9
 
10
10
  You are operating within ArkaOS. Every request routes through the
11
11
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -3,7 +3,7 @@ description: "Software Architect — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Gabriel, Software Architect of the ArkaOS /dev department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Gabriel, Software Architect of the ArkaOS /dev department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: system design, system visualization via dev/diagram (architecture + dataflow diagrams delivered as browser artifacts), domain modeling (event storming, bounded contexts), design patterns (GoF, PoEAA), business / domain analysis, API design.
9
9
 
@@ -3,7 +3,7 @@ description: "Creative Director — ArkaOS /brand department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Valentina, Creative Director of the ArkaOS /brand department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Valentina, Creative Director of the ArkaOS /brand department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: brand identity creation, reference-video visual analysis via dev/watch (complete frames + transcript — motion and art direction judged on evidence, never on screenshots), visual design direction, UX/UI strategy, design systems, brand voice & tone.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Financial Officer — ArkaOS /fin department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Helena, Chief Financial Officer of the ArkaOS /fin department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Helena, Chief Financial Officer of the ArkaOS /fin department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: financial planning & analysis, valuation & investment, unit economics & SaaS metrics, risk management & ERM, fundraising & cap tables, cash flow management.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief of Staff & Governance Lead — ArkaOS /org department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: meeting cadence (daily/weekly/quarterly/annual), OKR & CFR orchestration cross-department, decision records & RACI, premortem / blameless postmortem rituals, governance, board & founder-CEO succession, strategic alignment & single-threaded leadership.
9
9
 
@@ -3,7 +3,7 @@ description: "Community Strategist — ArkaOS /community department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Beatriz, Community Strategist of the ArkaOS /community department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Beatriz, Community Strategist of the ArkaOS /community department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: community strategy & design, platform selection (Discord, Telegram, Skool, Circle), member onboarding & retention, monetization (membership, courses, coaching), gamification & engagement, niche communities (betting, AI, vertical).
9
9
 
@@ -3,7 +3,7 @@ description: "Content Strategist — ArkaOS /content department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Rafael, Content Strategist of the ArkaOS /content department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rafael, Content Strategist of the ArkaOS /content department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: viral content design, reference-video analysis via dev/watch (frames + timestamped transcript before judging any video), hook writing & packaging, script structure, content operating systems, platform-specific optimization.
9
9
 
@@ -3,7 +3,7 @@ description: "Conversion Strategist — ArkaOS /landing department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Ines, Conversion Strategist of the ArkaOS /landing department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ines, Conversion Strategist of the ArkaOS /landing department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: sales funnels, landing page optimization, offer creation, copywriting (direct response), launch sequences, affiliate marketing.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Operations Officer — ArkaOS /org department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Sofia, Chief Operations Officer of the ArkaOS /org department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Sofia, Chief Operations Officer of the ArkaOS /org department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: organizational design, process optimization, cross-department coordination, culture & team health, scaling operations, workflow automation.
9
9
 
@@ -3,7 +3,7 @@ description: "Copy & Language Director — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: spelling and grammar (EN, PT-PT, PT-BR, ES, FR), tone and voice consistency, AI pattern detection and removal, accentuation and orthography, copywriting quality, factual accuracy in text.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Quality Officer — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Marta, Chief Quality Officer of the ArkaOS /quality department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marta, Chief Quality Officer of the ArkaOS /quality department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: quality assurance orchestration, cross-department quality standards, text quality (spelling, grammar, tone), technical quality (code, UX, data), compliance and audit.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Technology Officer — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Marco, Chief Technology Officer of the ArkaOS /dev department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marco, Chief Technology Officer of the ArkaOS /dev department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: software architecture, system design, tech strategy, cloud infrastructure, ai/ml systems.
9
9
 
@@ -3,7 +3,7 @@ description: "Design Ops Lead — ArkaOS /brand department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Iris, Design Ops Lead of the ArkaOS /brand department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Iris, Design Ops Lead of the ArkaOS /brand department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: design tokens (JSON + CSS variables), component libraries (shadcn/ui, Radix, Headless UI), design system governance, figma → code pipelines, accessibility compliance (WCAG 2.2 AA/AAA), cross-platform tokenisation (Style Dictionary, Tailwind).
9
9
 
@@ -3,7 +3,7 @@ description: "E-Commerce Director — ArkaOS /ecom department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: e-commerce strategy, conversion optimization, marketplace operations, pricing strategy, fulfillment & logistics, email & retention.
9
9
 
@@ -3,7 +3,7 @@ description: "Knowledge Director — ArkaOS /kb department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Clara, Knowledge Director of the ArkaOS /kb department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Clara, Knowledge Director of the ArkaOS /kb department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: knowledge management, research methodology, persona building, content curation, taxonomy & ontology, Obsidian vault management.
9
9
 
@@ -3,7 +3,7 @@ description: "Leadership & People Director — ArkaOS /lead department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: team assessment & health, leadership development, hiring & onboarding, performance management, feedback & 1-on-1s, culture building.
9
9
 
@@ -3,7 +3,7 @@ description: "Marketing Director — ArkaOS /mkt department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Luna, Marketing Director of the ArkaOS /mkt department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Luna, Marketing Director of the ArkaOS /mkt department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: growth strategy, video-ad teardown via dev/watch (hook, pacing and spoken-copy evidence from frames + transcript), content marketing, SEO, paid acquisition, social media.
9
9
 
@@ -3,7 +3,7 @@ description: "Operations Lead — ArkaOS /ops department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Daniel, Operations Lead of the ArkaOS /ops department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Daniel, Operations Lead of the ArkaOS /ops department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: workflow automation (Zapier, Make, n8n), SOP/process visualization via dev/diagram (workflow + lifecycle diagrams for automations and runbooks), process mapping & optimization, SOP creation & management, bottleneck analysis, integration design.
9
9
 
@@ -3,7 +3,7 @@ description: "Product Manager — ArkaOS /pm department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Carolina, Product Manager of the ArkaOS /pm department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Carolina, Product Manager of the ArkaOS /pm department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: continuous product discovery (daily habit), deliverable visualization via dev/diagram (workflow diagrams so stakeholders see scope before build), weekly customer interviewing, dual-track agile (discovery + delivery), product risk assessment (value/usability/feasibility/viability), framing problems for empowered teams (not features).
9
9
 
@@ -3,7 +3,7 @@ description: "RevOps Lead — ArkaOS /saas department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Vicente, RevOps Lead of the ArkaOS /saas department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Vicente, RevOps Lead of the ArkaOS /saas department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: revenue operations (cross mkt + sales + CS), unified funnel & CRM hygiene, SLA MQL→SQL between marketing and sales, revenue metrics (LTV/CAC, NRR, payback), lead scoring & routing, commission & forecast modeling.
9
9
 
@@ -3,7 +3,7 @@ description: "SaaS Strategist — ArkaOS /saas department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Tiago, SaaS Strategist of the ArkaOS /saas department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tiago, SaaS Strategist of the ArkaOS /saas department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: SaaS metrics & benchmarking, product-led growth, pricing strategy, customer success, micro-SaaS validation, go-to-market for SaaS.
9
9
 
@@ -3,7 +3,7 @@ description: "Sales Director — ArkaOS /sales department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Miguel, Sales Director of the ArkaOS /sales department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Miguel, Sales Director of the ArkaOS /sales department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: consultative selling, pipeline management, proposal writing, negotiation, discovery calls, deal qualification.
9
9
 
@@ -3,7 +3,7 @@ description: "Chief Strategist — ArkaOS /strat department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Tomas, Chief Strategist of the ArkaOS /strat department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tomas, Chief Strategist of the ArkaOS /strat department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: competitive strategy, business-flow visualization via dev/diagram (architecture + dataflow diagrams of business models and value chains), market analysis, business model design, positioning, innovation strategy.
9
9
 
@@ -3,7 +3,7 @@ description: "Technical & UX Quality Director — ArkaOS /quality department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: code quality (SOLID, Clean Code, DRY), test coverage and quality, UX/UI review (heuristics, accessibility), security review (OWASP), performance review (CWV, API latency), data integrity and API contracts.
9
9
 
@@ -3,7 +3,7 @@ description: "Tech Lead — ArkaOS /dev department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Paulo, Tech Lead of the ArkaOS /dev department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Paulo, Tech Lead of the ArkaOS /dev department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: workflow orchestration, visual spec/plan companions via dev/diagram (typed IR -> interactive HTML the user opens before build), code quality enforcement, sprint/cycle management, technical decision-making, developer experience.
9
9
 
@@ -3,7 +3,7 @@ description: "Video Producer & Production Lead — ArkaOS /content department"
3
3
  mode: subagent
4
4
  ---
5
5
 
6
- You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v4.43.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v4.45.0; generated by scripts/harness_gen.py — do not edit).
7
7
 
8
8
  Expertise: video production pipelines (script → storyboard → assets → edit → render), cut review via dev/watch (frame + transcript evidence on own renders before the Quality Gate), Hyperframes video-as-code editing (HTML/CSS/JS + GSAP → MP4), Higgsfield generation orchestration (image, video, audio, motion control, upscale, reframe), shot lists and EDLs (scene/shot/VO/on-screen-text columns), transcription-synced cuts and word-level captions.
9
9
 
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v4.43.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v4.45.0 — 89 agents, 17 departments, 332 skills. Generated by `scripts/harness_gen.py`; do not edit.
4
4
 
5
5
  You are operating within ArkaOS. Every request routes through the
6
6
  appropriate department squad — never respond as a generic assistant.
@@ -1,4 +1,4 @@
1
- import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, copyFileSync, statSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, copyFileSync, statSync, renameSync } from "node:fs";
2
2
  import { join, dirname, resolve } from "node:path";
3
3
  import { platform } from "node:os";
4
4
  import { fileURLToPath } from "node:url";
@@ -31,8 +31,12 @@ export function deployProjectAgents(projectDir, sourceRoot = ARKAOS_ROOT) {
31
31
  let deployed = 0;
32
32
  try {
33
33
  mkdirSync(agentsDest, { recursive: true });
34
- for (const file of readdirSync(agentsSrc)) {
35
- if (!file.endsWith(".md")) continue;
34
+ const sourceFiles = readdirSync(agentsSrc).filter((f) => f.endsWith(".md"));
35
+ retireLegacyPersonas(
36
+ agentsDest,
37
+ new Set(sourceFiles.map((f) => f.slice(0, -3))),
38
+ );
39
+ for (const file of sourceFiles) {
36
40
  const srcFile = join(agentsSrc, file);
37
41
  try {
38
42
  if (!statSync(srcFile).isFile()) continue;
@@ -48,6 +52,65 @@ export function deployProjectAgents(projectDir, sourceRoot = ARKAOS_ROOT) {
48
52
  return deployed;
49
53
  }
50
54
 
55
+ // PR-B5 (N5): personas from the v1 agent payload predate the QGVerdict
56
+ // contract. Left in place they stay dispatchable — a Quality Gate in that
57
+ // project reaches `cqo` (no contract, no fence) instead of `marta-cqo`,
58
+ // which is exactly the dead-relay shape the campaign repaired. Retirement
59
+ // is a rename into .claude/agents/.arkaos-legacy/, never a delete, and
60
+ // only fires under a double guard: the name is on this list AND absent
61
+ // from the current source set (a name ArkaOS ships again is deployed,
62
+ // not retired). Files outside the list are untouched — they are the
63
+ // user's.
64
+ export const LEGACY_PERSONAS = new Set([
65
+ "analyst",
66
+ "content-creator",
67
+ "copy-director",
68
+ "cqo",
69
+ "creative-director",
70
+ "devops",
71
+ "ecommerce-manager",
72
+ "motion-designer",
73
+ "qa",
74
+ "security",
75
+ "senior-dev",
76
+ "strategist",
77
+ "tech-lead",
78
+ "tech-ux-director",
79
+ ]);
80
+
81
+ function retireLegacyPersonas(agentsDest, sourceNames) {
82
+ const legacyDir = join(agentsDest, ".arkaos-legacy");
83
+ let retired = 0;
84
+ let entries;
85
+ try {
86
+ entries = readdirSync(agentsDest);
87
+ } catch {
88
+ return 0;
89
+ }
90
+ for (const file of entries) {
91
+ if (!file.endsWith(".md")) continue;
92
+ const base = file.slice(0, -3);
93
+ if (!LEGACY_PERSONAS.has(base) || sourceNames.has(base)) continue;
94
+ try {
95
+ mkdirSync(legacyDir, { recursive: true });
96
+ let dest = join(legacyDir, file);
97
+ for (let n = 1; existsSync(dest); n++) {
98
+ dest = join(legacyDir, `${base}-${n}.md`);
99
+ }
100
+ renameSync(join(agentsDest, file), dest);
101
+ // Never silent (QG r1 M3): these are generic names — the owner
102
+ // must see the move and where the file went.
103
+ console.log(
104
+ ` Retired v1 persona: ${file} -> .claude/agents/.arkaos-legacy/`
105
+ );
106
+ retired++;
107
+ } catch {
108
+ // Best-effort: an unmovable persona stays in place, never deleted.
109
+ }
110
+ }
111
+ return retired;
112
+ }
113
+
51
114
  /**
52
115
  * Build a complete inner hook-entry object for Claude Code's settings.json.
53
116
  *
@@ -180,6 +243,28 @@ export default {
180
243
  { hooks: [hookEntry(hooksDir, "pre-tool-use", 10)] },
181
244
  ];
182
245
 
246
+ // PreToolUse (Task matcher) — dynamic agent provisioning (PR-B5,
247
+ // N3). config/settings-template.json declared this entry for
248
+ // months, but the template is not the executed path: THIS adapter
249
+ // writes settings.json, and it never registered the hook, so
250
+ // agent-provision.sh shipped in the package and was never deployed
251
+ // on the npm path while projects dispatched v1 personas.
252
+ // POSIX-only (no .ps1 port exists) and conditional on the script
253
+ // existing — an older package must not register a dead command
254
+ // (same rule as the fastpath shim above).
255
+ if (!IS_WINDOWS && existsSync(join(hooksDir, "agent-provision.sh"))) {
256
+ settings.hooks.PreToolUse.push({
257
+ matcher: "Task",
258
+ hooks: [
259
+ {
260
+ type: "command",
261
+ command: join(hooksDir, "agent-provision.sh"),
262
+ timeout: 10,
263
+ },
264
+ ],
265
+ });
266
+ }
267
+
183
268
  // Stop — Flow completion validator (WARN mode in v2.20.0; promotion
184
269
  // to STRICT mode is gated on ≥ 2 weeks of clean telemetry per ADR
185
270
  // 2026-04-17-binding-flow-enforcement).