firstsun-dev_git-files-sync/AGENTS.md
ClaudiaFang 597989b53c chore: add agent harness (state, verification, lifecycle tracking)
Adds the missing harness subsystems so future agent sessions can start,
stay in scope, verify work, and resume reliably:

- feature_list.json: local mirror of active/next-up work (GitHub Issues
  on Project #6 remains the source of truth for the full backlog)
- progress.md / session-handoff.md / archive/2026-07.md: session state,
  restart point, and monthly archive of finished work
- init.sh: install + lint + test + build verification entrypoint
- AGENTS.md: added Startup Workflow, Definition of Done, Stay in Scope,
  and End of Session sections (existing agent-tier content kept as-is)
- CLAUDE.md: added a short Agent Workflow section routing to the above

Validated with the firstsun-harness audit script: 100/100 across all
five subsystems (instructions, state, verification, scope, lifecycle).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YYCTyZw7gUmJ7oh1VTmAqh
2026-07-13 12:27:42 +00:00

2.6 KiB

Project Agent Design & Hierarchy (Synchronized with Skills)

Startup Workflow

Before writing code:

  • Read feature_list.json (active/next-up work — GitHub Issues on firstsun-dev/git-files-sync, Project #6, is the real source of truth; re-sync stale entries) and progress.md (what's currently open).
  • Read session-handoff.md for the previous session's exact stopping point.
  • Run ./init.sh to confirm a clean, green baseline before editing.

Definition of Done

A feature is done only when all of the following hold, with evidence recorded (command + result) in progress.md:

  • npx eslint . — 0 errors
  • npm run build — passes (tsc + Obsidian 1.11.0 compat typecheck + esbuild)
  • npx vitest run — passes
  • Manual verification in Obsidian, when the change has a runtime UI surface

Stay in Scope

  • One feature at a time: pick a single feature_list.json entry and finish it (with recorded evidence) before starting the next.
  • Don't expand scope mid-task — file a new GitHub issue via the firstsun-pm skill instead of quietly bundling unrelated work.

End of Session

Before ending a session:

  • Overwrite session-handoff.md (don't append) with the new stopping point so the repo stays restartable.
  • Move finished items from progress.md into archive/YYYY-MM.md (current month) — next steps in progress.md should read as a short list, not a changelog.

Agent Tiers

1. High-Tier (Red/Orange Group)

  • Sonnet 4.6 (Primary): Orchestrator for complex planning and architecture.
  • Opus (Architect): Deep research and large-scale refactoring.

2. Low-Tier (Blue/Green/Cyan Group)

  • Haiku (Specialized): Fast, token-efficient model for TDD, linting, and CI/CD monitoring. REQUIRED: All verification tasks MUST be offloaded to Haiku to save tokens.
  • Subagents: Isolated tasks for context protection.

Core Workflows (Mandatory Skills Integration)

1. TDD & Linting (Skill: obsidian-development)

  • Rule: Write Vitest tests BEFORE implementation.
  • Execution: Offload npx vitest run and npm run lint to Haiku.
  • Report Format: Success: N items, Failure: X items (including error logs on failure).

2. Marketplace Readiness (Skill: obsidian-marketplace-check)

  • Rule: Verify compliance before any release candidate.
  • Checks: manifest.json parity, isDesktopOnly logic, and onunload cleanup.

3. CI/CD Monitoring (Skill: obsidian-development)

  • Rule: Post-push monitoring by Haiku in the background.
  • Failure Protocol: Fetch and return specific error messages from the CI pipeline.

4. Git Integrity

  • Pre-commit: Husky hook running npm run lint && npm run build.