arkaos 5.1.0 → 5.2.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 (48) hide show
  1. package/CONSTITUTION.md +1 -1
  2. package/THE-ARKAOS-GUIDE.md +1 -1
  3. package/VERSION +1 -1
  4. package/arka/skills/comfyui/SKILL.md +2 -2
  5. package/core/governance/evidence_checks.py +14 -1
  6. package/core/sync/features/forge.yaml +1 -1
  7. package/core/sync/features/spec-gate.yaml +1 -1
  8. package/core/sync/features/workflow-tiers.yaml +1 -1
  9. package/departments/brand/SKILL.md +1 -1
  10. package/departments/dev/SKILL.md +1 -1
  11. package/harness/codex/AGENTS.md +1 -1
  12. package/harness/copilot/copilot-instructions.md +1 -1
  13. package/harness/cursor/rules/arkaos.mdc +2 -2
  14. package/harness/gemini/GEMINI.md +1 -1
  15. package/harness/opencode/AGENTS.md +1 -1
  16. package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
  17. package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
  18. package/harness/opencode/agents/arka-cfo-helena.md +1 -1
  19. package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
  20. package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
  21. package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
  22. package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
  23. package/harness/opencode/agents/arka-coo-sofia.md +1 -1
  24. package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
  25. package/harness/opencode/agents/arka-cqo-marta.md +1 -1
  26. package/harness/opencode/agents/arka-cto-marco.md +1 -1
  27. package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
  28. package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
  29. package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
  30. package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
  31. package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
  32. package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
  33. package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
  34. package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
  35. package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
  36. package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
  37. package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
  38. package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
  39. package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
  40. package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
  41. package/harness/zed/.rules +1 -1
  42. package/installer/claude-md.js +46 -5
  43. package/knowledge/skills-manifest.json +1 -1
  44. package/package.json +1 -1
  45. package/pyproject.toml +1 -1
  46. package/scripts/skills_catalog_gen.py +225 -0
  47. package/scripts/workflows_catalog_gen.py +161 -0
  48. package/knowledge/commands-registry.json.bak +0 -6462
package/CONSTITUTION.md CHANGED
@@ -115,7 +115,7 @@ Level re-tiering requires explicit operator approval and a recorded
115
115
  ## Compressed Context (Synapse L0)
116
116
 
117
117
  ```
118
- [Constitution] NON-NEGOTIABLE: branch-isolation, security-gate, mandatory-qa, evidence-flow, arkaos-not-yes-man, excellence-mandate | QUALITY-GATE: marta-cqo, eduardo-copy, francisca-tech-ux | MUST (28) incl.: squad-routing, spec-driven, conventional-commits, test-coverage, subagent-discipline, persona-vs-artifact
118
+ [Constitution] NON-NEGOTIABLE: branch-isolation, security-gate, mandatory-qa, evidence-flow, arkaos-not-yes-man, excellence-mandate | QUALITY-GATE: marta-cqo, eduardo-copy, francisca-tech-ux | MUST (29) incl.: squad-routing, spec-driven, conventional-commits, test-coverage, subagent-discipline, persona-vs-artifact
119
119
  ```
120
120
 
121
121
  ---
@@ -1,6 +1,6 @@
1
1
  # The ArkaOS Guide
2
2
 
3
- > v5.1.0 — 89 agents, 17 departments, 333 skills, 298 commands, 19 ADRs.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 skills, 298 commands, 19 ADRs.
4
4
  > One file, everything you need to start. Generated by `scripts/guide_gen.py` — never hand-edited.
5
5
 
6
6
  ## What it is
package/VERSION CHANGED
@@ -1 +1 @@
1
- 5.1.0
1
+ 5.2.0
@@ -82,7 +82,7 @@ The Forge for multi-agent planning before execution.
82
82
  - Phase 0.5: Forge analysis (after spec creation, before squad planning)
83
83
  - Complexity assessment: automatic via Synapse L8 (ForgeContextLayer)
84
84
  - Manual invocation: `/forge` command
85
- - Handoff: Forge outputs structured plan -> squad executes phases
85
+ - Handoff: Forge outputs structured plan squad executes phases
86
86
  <!-- arka:feature:forge-integration:end -->
87
87
 
88
88
  <!-- arka:feature:quality-gate:start -->
@@ -115,7 +115,7 @@ Three workflow tiers based on task complexity:
115
115
  | Tier | Phases | When |
116
116
  |------|--------|------|
117
117
  | Enterprise | 7-10 phases | Complex features, multi-file changes |
118
- | Focused | 3-5 phases | Medium tasks, single-domain changes |
118
+ | Focused | 3-4 phases | Medium tasks, single-domain changes |
119
119
  | Specialist | 1-2 phases | Simple tasks, quick fixes |
120
120
 
121
121
  Tier selection is automatic based on complexity assessment.
@@ -323,6 +323,12 @@ def _check_lint(
323
323
  project_dir: Path, changed: list[str] | None,
324
324
  test_command: str | None, timeout: int,
325
325
  ) -> CheckResult:
326
+ if changed is not None and not changed:
327
+ # A KNOWN-empty diff must not inherit the project-wide baseline:
328
+ # a zero-write deliverable was gated on master's pre-existing
329
+ # ruff debt (QG 2026-08-04). None still means "scope unknown"
330
+ # and keeps the project-wide run.
331
+ return _skip("lint", "no changed files (empty diff)")
326
332
  if changed:
327
333
  scoped = _lint_scoped(project_dir, changed, timeout)
328
334
  if scoped is not None:
@@ -371,6 +377,11 @@ def _check_typecheck(
371
377
  project_dir: Path, changed: list[str] | None,
372
378
  test_command: str | None, timeout: int,
373
379
  ) -> CheckResult:
380
+ if changed is not None and not changed:
381
+ # Same zero-diff contract as lint: mypy/tsc run project-wide and
382
+ # never read the diff, so a known-empty diff would inherit
383
+ # master's type debt the moment tooling is configured.
384
+ return _skip("typecheck", "no changed files (empty diff)")
374
385
  if _mypy_configured(project_dir) and shutil.which("mypy"):
375
386
  return _run("typecheck", ["mypy", "."], project_dir, timeout)
376
387
  if (project_dir / "tsconfig.json").is_file():
@@ -1024,8 +1035,10 @@ def _build_parser() -> argparse.ArgumentParser:
1024
1035
 
1025
1036
 
1026
1037
  def _csv(value: str | None) -> list[str] | None:
1027
- if not value:
1038
+ if value is None:
1028
1039
  return None
1040
+ # `--changed-files ""` is a KNOWN-empty diff and maps to [] so the
1041
+ # zero-diff skip fires; an omitted flag stays None (scope unknown).
1029
1042
  return [item.strip() for item in value.split(",") if item.strip()]
1030
1043
 
1031
1044
 
@@ -2,7 +2,7 @@ name: forge-integration
2
2
  added_in: "2.14.0"
3
3
  mandatory: true
4
4
  section_title: "Forge Integration"
5
- detection_pattern: "arka:feature:forge-integration|## Forge Integration|arka-forge"
5
+ detection_pattern: "arka:feature:forge-integration|## Forge Integration|arka-forge(?![\\w-])"
6
6
  deprecated_in: null
7
7
  content: |
8
8
  <!-- arka:feature:forge-integration:start -->
@@ -2,7 +2,7 @@ name: spec-driven-gate
2
2
  added_in: "2.13.0"
3
3
  mandatory: true
4
4
  section_title: "Spec-Driven Development"
5
- detection_pattern: "arka:feature:spec-driven-gate|## Spec-Driven Development|arka-spec"
5
+ detection_pattern: "arka:feature:spec-driven-gate|## Spec-Driven Development|arka-spec(?![\\w-])"
6
6
  deprecated_in: null
7
7
  content: |
8
8
  <!-- arka:feature:spec-driven-gate:start -->
@@ -13,7 +13,7 @@ content: |
13
13
  | Tier | Phases | When |
14
14
  |------|--------|------|
15
15
  | Enterprise | 7-10 phases | Complex features, multi-file changes |
16
- | Focused | 3-5 phases | Medium tasks, single-domain changes |
16
+ | Focused | 3-4 phases | Medium tasks, single-domain changes |
17
17
  | Specialist | 1-2 phases | Simple tasks, quick fixes |
18
18
 
19
19
  Tier selection is automatic based on complexity assessment.
@@ -2,7 +2,7 @@
2
2
  name: arka-brand
3
3
  description: >
4
4
  Brand & Design department. Full brand identity creation, UX/UI design, design systems,
5
- visual identity, and brand strategy. 4-agent team applying Primal Branding, StoryBrand,
5
+ visual identity, and brand strategy. 10-agent team applying Primal Branding, StoryBrand,
6
6
  12 Archetypes, Nielsen Heuristics, Atomic Design, and Dieter Rams principles.
7
7
  allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
8
8
  ---
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: arka-dev
3
3
  description: >
4
- Full-stack development department. Enterprise-grade 9-agent team with structured
4
+ Full-stack development department. Enterprise-grade 15-agent team with structured
5
5
  multi-phase workflows. Implements features, APIs, reviews code, manages architecture,
6
6
  security audits, CI/CD, database design, and AI-assisted development.
7
7
  Frameworks: Clean Architecture, DDD, TDD, DORA Metrics, OWASP Top 10.
@@ -1,6 +1,6 @@
1
1
  # ArkaOS — The Operating System for AI Agent Teams
2
2
 
3
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 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
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 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 v5.1.0 agent-team contract
2
+ description: ArkaOS v5.2.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
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
8
+ > v5.2.0 — 89 agents, 17 departments, 333 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
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 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
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Gabriel, Software Architect of the ArkaOS /dev department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Valentina, Creative Director of the ArkaOS /brand department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Helena, Chief Financial Officer of the ArkaOS /fin department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Afonso, Chief of Staff & Governance Lead of the ArkaOS /org department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Beatriz, Community Strategist of the ArkaOS /community department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rafael, Content Strategist of the ArkaOS /content department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ines, Conversion Strategist of the ArkaOS /landing department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Sofia, Chief Operations Officer of the ArkaOS /org department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Eduardo, Copy & Language Director of the ArkaOS /quality department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marta, Chief Quality Officer of the ArkaOS /quality department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Marco, Chief Technology Officer of the ArkaOS /dev department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Iris, Design Ops Lead of the ArkaOS /brand department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Ricardo, E-Commerce Director of the ArkaOS /ecom department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Clara, Knowledge Director of the ArkaOS /kb department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Rodrigo, Leadership & People Director of the ArkaOS /lead department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Luna, Marketing Director of the ArkaOS /mkt department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Daniel, Operations Lead of the ArkaOS /ops department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Carolina, Product Manager of the ArkaOS /pm department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Vicente, RevOps Lead of the ArkaOS /saas department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tiago, SaaS Strategist of the ArkaOS /saas department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Miguel, Sales Director of the ArkaOS /sales department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Tomas, Chief Strategist of the ArkaOS /strat department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Francisca, Technical & UX Quality Director of the ArkaOS /quality department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Paulo, Tech Lead of the ArkaOS /dev department (v5.2.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 (v5.1.0; generated by scripts/harness_gen.py — do not edit).
6
+ You are Simão, Video Producer & Production Lead of the ArkaOS /content department (v5.2.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
- > v5.1.0 — 89 agents, 17 departments, 333 skills. Generated by `scripts/harness_gen.py`; do not edit.
3
+ > v5.2.0 — 89 agents, 17 departments, 333 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.
@@ -17,8 +17,8 @@
17
17
 
18
18
  import { createHash } from "node:crypto";
19
19
  import {
20
- copyFileSync, existsSync, mkdirSync, readFileSync, realpathSync,
21
- renameSync, writeFileSync,
20
+ chmodSync, copyFileSync, existsSync, lstatSync, mkdirSync, readFileSync,
21
+ realpathSync, renameSync, statSync, writeFileSync,
22
22
  } from "node:fs";
23
23
  import { join, dirname } from "node:path";
24
24
 
@@ -121,18 +121,55 @@ function planBlockReplace(existing, template, markers) {
121
121
  return { action: "replace-block", content };
122
122
  }
123
123
 
124
+ // Temp names are PID-scoped so concurrent processes cannot collide on
125
+ // the same temp path. Exported so the tests can assert the scoping
126
+ // behaviourally — the name is unobservable after the rename.
127
+ export function tempPathFor(real, pid = process.pid) {
128
+ return `${real}.arkaos-tmp-${pid}`;
129
+ }
130
+
124
131
  // A crash mid-write must never leave a truncated CLAUDE.md, and a
125
132
  // symlinked file must keep pointing at its target — renaming onto the
126
133
  // LINK would replace the link itself (the C3 remediation lesson), so
127
134
  // the write lands on the resolved path. Known trade-off of temp+rename:
128
135
  // a HARD-linked twin keeps the old inode's content.
136
+ // The rename carries the temp file's mode with it. When a file is
137
+ // being REPLACED, the temp starts at 0600 (never readable by group or
138
+ // other) and is chmod-ed to the existing file's mode before the rename
139
+ // — a 0600 CLAUDE.md must not come back 0644 (CWE-732, C5 register
140
+ // M1). A FRESH file is written plainly so the operator's umask applies
141
+ // exactly as master's writeFileSync did — a hard-coded 0644 here
142
+ // WIDENED a umask-077 operator's file (QG r1, Francisca B1).
129
143
  function writeAtomic(target, content) {
130
144
  const real = existsSync(target) ? realpathSync(target) : target;
131
- const tmp = `${real}.arkaos-tmp-${process.pid}`;
132
- writeFileSync(tmp, content);
145
+ const existingMode = existsSync(real) ? statSync(real).mode & 0o7777 : null;
146
+ const tmp = tempPathFor(real);
147
+ if (existingMode === null) {
148
+ writeFileSync(tmp, content);
149
+ } else {
150
+ writeFileSync(tmp, content, { mode: 0o600 });
151
+ chmodSync(tmp, existingMode);
152
+ }
133
153
  renameSync(tmp, real);
134
154
  }
135
155
 
156
+ // existsSync FOLLOWS symlinks, so a dangling link reads as "no file
157
+ // here" and the create path would silently replace the link itself
158
+ // with a regular file (C5 register M3). lstat sees the link; refuse
159
+ // and leave it exactly as found.
160
+ function brokenSymlinkReason(target) {
161
+ let stat;
162
+ try {
163
+ stat = lstatSync(target);
164
+ } catch {
165
+ return null;
166
+ }
167
+ if (stat.isSymbolicLink() && !existsSync(target)) {
168
+ return "it is a symlink whose target does not exist — fix or remove the link first";
169
+ }
170
+ return null;
171
+ }
172
+
136
173
  export function backupFile(target) {
137
174
  const stamp = new Date().toISOString().replace(/[-:.]/g, "");
138
175
  let dest = `${target}.arkaos-backup-${stamp}`;
@@ -168,6 +205,8 @@ export function syncUserClaudeMd({ home, templatePath }) {
168
205
  if (!existsSync(templatePath)) return { action: "no-template" };
169
206
  const template = readFileSync(templatePath, "utf-8");
170
207
  const target = join(home, ".claude", "CLAUDE.md");
208
+ const brokenLink = brokenSymlinkReason(target);
209
+ if (brokenLink) return { action: "refuse", reason: brokenLink };
171
210
  const raw = existsSync(target) ? readFileSync(target) : null;
172
211
  // Decoding a non-UTF-8 file replaces bytes with U+FFFD and writing
173
212
  // the decode back corrupts content OUTSIDE the block (QG C5 r1,
@@ -198,6 +237,8 @@ export function syncUserClaudeMd({ home, templatePath }) {
198
237
  export function installUserClaudeMd({ home, templatePath }) {
199
238
  if (!existsSync(templatePath)) return { action: "no-template" };
200
239
  const target = join(home, ".claude", "CLAUDE.md");
240
+ const brokenLink = brokenSymlinkReason(target);
241
+ if (brokenLink) return { action: "refuse", reason: brokenLink };
201
242
  if (existsSync(target)) return { action: "preserved" };
202
243
  mkdirSync(dirname(target), { recursive: true });
203
244
  writeAtomic(target, renderManagedBlock(readFileSync(templatePath, "utf-8")));
@@ -225,7 +266,7 @@ export function describeSyncResult(result) {
225
266
  "adopt-wrap": {
226
267
  level: "ok",
227
268
  message: result.preservedRemainder
228
- ? "~/.claude/CLAUDE.md adopted into managed markers — your content preserved below the block"
269
+ ? "~/.claude/CLAUDE.md adopted into managed markers — your content preserved below the managed block"
229
270
  : "~/.claude/CLAUDE.md adopted into managed markers",
230
271
  },
231
272
  "adopt-prepend": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_meta": {
3
3
  "generator": "scripts/marketplace_gen.py",
4
- "version": "5.1.0",
4
+ "version": "5.2.0",
5
5
  "marketplace": "arkaos"
6
6
  },
7
7
  "structural": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "5.1.0"
3
+ version = "5.2.0"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}