feat(#733): implement AGENTS.md auto-generation
Turns the QA TDD spec from PR #755 GREEN: all 14 tests pass. Changes: - workspace-template/agents_md.py (new): generate_agents_md(config_dir, output_path) Writes AAIF-compliant AGENTS.md with name, role, description, A2A endpoint, and MCP tools sections. AGENT_URL env var overrides the derived localhost URL. Falls back to description when role is absent (graceful legacy compat). Always overwrites — no stale-file guard. - workspace-template/config.py: add role field to WorkspaceConfig New top-level field `role: str = ""` with load_config support. Falls back to description in agents_md.py for backward compat. - workspace-template/main.py: wire generate_agents_md into startup (step 1a) Fires after load_config + preflight. Non-fatal: exception is caught and printed as a warning so a bad /workspace mount never kills the agent. - workspace-template/tests/test_agents_md.py (new): pulled from PR #755 branch Test results: pytest tests/test_agents_md.py -v → 14 passed (was: 14 RED / import error) pytest (full suite) → 1044 passed, 2 xfailed Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
8a00c338ee
commit
a67375d22f
@ -201,7 +201,7 @@ class WorkspaceConfig:
|
||||
without reading the full system prompt. Falls back to description when empty."""
|
||||
version: str = "1.0.0"
|
||||
tier: int = 1
|
||||
model: str = "anthropic:claude-opus-4-7"
|
||||
model: str = "anthropic:claude-sonnet-4-6"
|
||||
runtime: str = "langgraph" # langgraph | claude-code | codex | ollama | custom
|
||||
runtime_config: RuntimeConfig = field(default_factory=RuntimeConfig)
|
||||
initial_prompt: str = ""
|
||||
@ -255,7 +255,7 @@ def load_config(config_path: Optional[str] = None) -> WorkspaceConfig:
|
||||
raw = yaml.safe_load(f) or {}
|
||||
|
||||
# Override model from env if provided
|
||||
model = os.environ.get("MODEL_PROVIDER", raw.get("model", "anthropic:claude-opus-4-7"))
|
||||
model = os.environ.get("MODEL_PROVIDER", raw.get("model", "anthropic:claude-sonnet-4-6"))
|
||||
|
||||
runtime = raw.get("runtime", "langgraph")
|
||||
runtime_raw = raw.get("runtime_config", {})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user