diff --git a/solutions/agent-scaffold/solution.json b/solutions/agent-scaffold/solution.json index ce6eaf6..03066c3 100644 --- a/solutions/agent-scaffold/solution.json +++ b/solutions/agent-scaffold/solution.json @@ -9,16 +9,35 @@ "skill_ref": "payload/SKILL.md" }, "tools": [ - { "name": "memory-api", "kind": "http-api", "required": true }, - { "name": "python3", "kind": "cli", "required": true } + { + "name": "memory-api", + "kind": "http-api", + "required": true + }, + { + "name": "python3", + "kind": "cli", + "required": true + } ], "runtime": { - "surfaces": ["claude-code-skill"] + "surfaces": [ + "claude-code-skill" + ] }, "permissions": [ - { "action": "write", "target": "~/.claude/skills/agent-scaffold/" }, - { "action": "write", "target": "~/agents// (PRD.md, SOUL.md, MEMORY.md — output of running the skill, not part of the install)" }, - { "action": "net", "target": "HTTP POST to the configured M2_MEMORY_API_URL /memory/search endpoint" } + { + "action": "write", + "target": "~/.claude/skills/agent-scaffold/" + }, + { + "action": "write", + "target": "~/agents// (PRD.md, SOUL.md, MEMORY.md — output of running the skill, not part of the install)" + }, + { + "action": "net", + "target": "HTTP POST to the configured M2_MEMORY_API_URL /memory/search endpoint" + } ], "deployment": { "recipe_ref": "recipe.yaml", @@ -26,9 +45,18 @@ "verify_command": "test -f ~/.claude/skills/agent-scaffold/SKILL.md" }, "applicability": { - "image_classes": ["primus", "agent-latest"], - "roles": ["operator", "desktop-agent"], - "tool_requirements": ["python3", "memory-api"] + "image_classes": [ + "primus", + "agent-latest" + ], + "roles": [ + "operator", + "desktop-agent" + ], + "tool_requirements": [ + "python3", + "memory-api" + ] }, "tenant_scope": "m2-core", "evidence": [ @@ -48,7 +76,7 @@ "excerpt": "SKILL.md: 'The goal is reproducibility: if an agent's context is lost (like Nasr's Apr 8 research agents), this skill can reconstruct the workspace from the vector store and hand it to OpenClaw or Hermes to re-execute without starting from scratch.'" }, { - "source": "/home/m2/agent-restore-harness/agents/{nasr,parlo,peter}/SOUL.md — three further real SOUL.md agent-identity files for actual named fleet agents (nasr-m2o, parlobyg-m2o per /home/m2/CLAUDE.md), mtimes 2026-04-22T23:41–2026-04-23T00:48, confirming the PRD+SOUL workspace pattern stayed in production use after the skill was written, not a one-off", + "source": "/home/m2/agent-restore-harness/agents/*/SOUL.md — three further real SOUL.md agent-identity files for actual named fleet agents (machine names withheld from shared catalog per tenant-firewall hygiene), mtimes 2026-04-22T23:41–2026-04-23T00:48, confirming the PRD+SOUL workspace pattern stayed in production use after the skill was written, not a one-off", "machine": "m2", "excerpt": "nasr/SOUL.md: 'You are Nasr's digital twin — his AI counterpart in the Machine.Machine fleet... ## Core Capabilities'" } @@ -67,4 +95,4 @@ "revenue_split": { "platform_pct": 10 } -} +} \ No newline at end of file diff --git a/specs/001-market-first-wedge/tasks.md b/specs/001-market-first-wedge/tasks.md index c5ab013..6ec848d 100644 --- a/specs/001-market-first-wedge/tasks.md +++ b/specs/001-market-first-wedge/tasks.md @@ -79,11 +79,11 @@ published listing **Independent test**: quickstart.md Scenario A -- [ ] T027 [US2] `publish` command in `cli/src/m2_market/cli.py` + `cli/src/m2_market/publish.py`: validate bundle against schemas (exit 5 on violation incl. tenant firewall), push `listing/` branch, open PR via Forgejo API with template +- [x] T027 [US2] `publish` command in `cli/src/m2_market/cli.py` + `cli/src/m2_market/publish.py`: validate bundle against schemas (exit 5 on violation incl. tenant firewall), push `listing/` branch, open PR via Forgejo API with template - [ ] T028 [US2] Registry CI hardening in `m2/market-registry` CI config: evidence-required, owner-initiated + double-scrub attestations for tenant-scoped submissions, content_hash-vs-release check (Story 2 AC-2/AC-4 mechanical rejection) -- [ ] T029 [P] [US2] Package seed Solution `solutions/mm-pdf-report/` (from the proven mm-pdf outcome): solution.json, payload/, recipe.yaml, real evidence refs -- [ ] T030 [P] [US2] Package seed Solution `solutions/agent-scaffold/` (from the agent-scaffold skill outcome): solution.json, payload/, recipe.yaml, real evidence -- [ ] T031 [P] [US2] Package seed Solution `solutions/competitor-scan/` (from the competitor-scan report outcome): solution.json, payload/, recipe.yaml, real evidence +- [x] T029 [P] [US2] Package seed Solution `solutions/mm-pdf-report/` (from the proven mm-pdf outcome): solution.json, payload/, recipe.yaml, real evidence refs +- [x] T030 [P] [US2] Package seed Solution `solutions/agent-scaffold/` (from the agent-scaffold skill outcome): solution.json, payload/, recipe.yaml, real evidence +- [ ] T031 [P] [US2] BLOCKED-ON-OPERATOR: competitor-scan seed has no real evidence (constitution III) — t031 report recommends substituting Parlobyg email-triage (tenant-derived: needs owner-initiated + double-scrub sign-off) or another proven outcome - [ ] T032 [US2] Publish all three seeds through the real protocol (PRs, review, merge), verify each discoverable via `m2-market search` (SC-002) **Checkpoint**: ≥3 published evidence-backed listings live