Commit 83e109c
authored
docs(research): add arc42, Google design docs, and RFC/spec pattern entries (69–71) (#97)
* docs(research): add arc42, Google design docs, and RFC/spec pattern entries (69–71)
* feat(docs): restructure documentation and reduce agent reads (#95 #93 #98 #96)
PO ownership & scope session (#95 #93):
- PO is sole owner of .feature files and all moves (backlog→in-progress→completed)
- SE/reviewer never self-select features; escalate via TODO.md
System overview & ADR restructure (#98):
- Retire docs/architecture.md and docs/c4/
- Create docs/system.md (SE-owned, current system state)
- Create docs/context.md and docs/container.md (flat, not in c4/)
- Rename docs/scientific-research/ → docs/research/
Reduce agent reads & information architecture (#96):
- Rename docs/discovery_journal.md → docs/scope_journal.md
- Split docs/discovery.md: PO-owned append-only synthesis + SE-owned docs/domain-model.md
- ADR one-file-per-decision: docs/adr/ADR-YYYY-MM-DD-<slug>.md (delete logs.md)
- Extract all inline templates to .template files in skill directories
- Update all skills with reduced read policies (targeted reads only)
- Update self-declaration format: 'As a <role> I declare that:'
- Update all research doc references and C4 diagram sources
* feat(docs): add refactoring.guru catalog — 22 smells, techniques, code-agnostic patterns (#94)
- docs/research/oop-design.md: add entry #36 for refactoring.guru with full smell categories (Bloaters, OO Abusers, Change Preventers, Dispensables, Couplers), ~70 technique categories, and GoF pattern cross-reference
- refactor/SKILL.md v2.0: expand smell table from 12 to 22 entries in 5 named categories; replace all Python code examples with language-agnostic trigger/outcome descriptions; replace SOLID Python signals with violation signals; replace Python Zen section with Design Clarity Signals
- apply-patterns/SKILL.md v3.0: replace 8 Python before/after code blocks with language-agnostic Before/After structural descriptions and Key structural change callouts; clean Quick Lookup table; add refactoring.guru to sources
* feat(docs): improve index.html visibility with 6-card landing page (#92)
- Redesign docs/index.html from 3 cards to 6 curated cards:
- System Overview (system.md)
- Context Diagram (context.md)
- Features (GitHub folder link for backlog/in-progress/completed)
- API Reference (api/app.html)
- Coverage Report (coverage/index.html)
- Research Library (GitHub folder link for 10 papers)
- Keep same dark card UI/UX as original
- Features and Research link to GitHub for folder browsing
- Remove intermediate features/index.html sub-page
* feat(roles): split SE into System Architect + SE with closed review loop
Research (entries 59–62 in docs/research/architecture.md):
- ATAM: architecture evaluation with scenario analysis
- Conway's Law / Inverse Conway Maneuver: team structure mirrors architecture
- Architect as Decision-Maker (Fowler + Martin): policy/detail separation
- Team Topologies: cognitive load, collaboration, X-as-a-Service
Agent changes:
- New : owns Step 2 (architecture) and Step 4 (review)
- Update : owns Step 3 only (TDD loop, implementation)
- Delete : absorbed into system-architect
Skill changes:
- New : Step 2 architecture protocol (split from implement)
- Shrink to Step 3 TDD loop only (v5.0)
- Update audience to system-architect (v6.0)
- Update read policy for SA/SE split
- Update , , , for SA references
AGENTS.md updates:
- Closed loop: SA designs → SE builds → SA reviews
- Update all role descriptions, skills table, filesystem ownership
- Update verification philosophy, bug handling, quality gates
* fix(agents.md): correct role references after SA/SE split
- Line 95: SE → SA formalization at Step 2
- Quality Gate: remove architect code-design check (SA Step 4, not SE gate)
- Fix numbering skip (1→2→3→5 → 1→2→3)
- Fix typo: appropriated → appropriate design patterns
- Skills table: clarify create-pr/git-release/update-docs as post-acceptance
* fix: correct role references after SA/SE split across project
README.md:
- Step 2 ARCH: Software Engineer → System Architect
- Step 4 VERIFY: Reviewer → System Architect
- Agent table: @Reviewer → @System-Architect, SE drops Architecture
- adversarial review line: reviewer → system-architect
Active skills:
- define-scope/SKILL.md: SE creates/formalizes domain-model → SA
- update-docs/SKILL.md: SE owns system.md/domain-model.md → SA
- verify/SKILL.md: code review → semantic review (3 occurrences)
- create-pr/SKILL.md: reviewer → system-architect
- run-session/SKILL.md: SE Step 2 example → SA + skill architect
- select-feature/SKILL.md: SE Step 2 routing → SA + skill architect
Research docs:
- ai-agents.md: 4 agents (with reviewer) → 5 agents (with SA + designer)
- cognitive-science.md: reviewer.md → system-architect.md
- testing.md: reviewer.md → verify/SKILL.md
- documentation.md: SE updates/rewrites system.md → SA
- architecture.md: SE creates ADRs → SA
- domain-modeling.md: SE formalizes domain-model → SA
* feat(post-mortem): add compact post-mortem protocol for acceptance failures
- Delete 2 old ping-pong-cli post-mortem artifacts (not template docs)
- Add docs/post-mortem/.gitkeep to keep empty directory
- Add .opencode/skills/define-scope/post-mortem.md.template (max 15 lines)
- Add Post-Mortem Protocol section to define-scope/SKILL.md (trigger, workflow, rules)
- Update AGENTS.md: Acceptance Failure & Restart section + post-mortem in filesystem tree
- Update run-session/SKILL.md: add docs/post-mortem/ to PO read list
Workflow: stakeholder failure after acceptance → PO keeps feature in in-progress/ →
team writes compact post-mortem → PO scans/selects relevant files → PO reads them →
resets TODO.md to Step 2 → SA restarts architecture with post-mortem context.
* feat(git): introduce branching model, version-control skill, and safety protocol
Add version-control skill:
- .opencode/skills/version-control/SKILL.md — Git safety, branch lifecycle,
commit hygiene, merge to main with --no-ff, post-mortem branches,
conflict detection. Absolute rules: no force push, no history rewrite
on pushed branches, use git revert, no commits directly to main.
Update AGENTS.md:
- Add Branch Model section (normal flow + post-mortem flow + Git Safety Protocol)
- Update Step 2/5 descriptions to include branching
- Update Acceptance Failure & Restart with fix/<stem> branch from start commit
- Update Release Management: releases from main only
- Add version-control to skills table
Update agents:
- software-engineer.md: add version-control to Available Skills and Step Routing
- system-architect.md: mention branch verification at Step 2
Update skills:
- run-session/SKILL.md: add git branch --show-current check in session start
- architect/SKILL.md: add branch verification prerequisite (#5)
- implement/SKILL.md: add branch prerequisite, add Branch Hygiene before handoff
- verify/SKILL.md: add Branch Gate (section 3), fix section numbering cascade
- define-scope/SKILL.md: post-mortem workflow now includes exact git commands
for creating fix/<stem> branch from start commit
- git-release/SKILL.md: add main-branch guard and ff-only pull
- create-pr/SKILL.md: replace squash merge with --no-ff merge
- create-skill/SKILL.md: update create-pr description to --no-ff
Add research:
- docs/research/version-control.md — Pro Git, Driessen git-flow, Git cheat sheet,
Fowler branching patterns, merge vs rebase guidance
* refactor(roles): move create-pr skill ownership from SE to SA
The system-architect now owns PR creation and merge, consistent with
the closed-loop model where SA designs → SE builds → SA reviews → SA
integrates.
- AGENTS.md: create-pr owner → system-architect
- create-pr/SKILL.md: author/audience → system-architect
- create-skill/SKILL.md: update skills table reference
- software-engineer.md: remove create-pr from Step 5 routing and Available Skills
- system-architect.md: add create-pr to Step 5 routing and Available Skills
* refactor(roles): move git-release skill ownership from SE to stakeholder
The stakeholder (human) now owns the release decision. When the stakeholder
requests a release, the SA or SE loads the git-release skill to execute it.
- AGENTS.md: git-release owner → stakeholder; update release command reference
- git-release/SKILL.md: author/audience → stakeholder
- create-skill/SKILL.md: update skills table reference
- software-engineer.md: remove git-release from Step 5 routing and Available Skills
- product-owner.md: update acceptance note to reflect SA creates PR, stakeholder
triggers release
* feat(flow): replace TODO.md with FLOW.md protocol and create flow skill
Create flow state machine skill:
- .opencode/skills/flow/SKILL.md — full state machine with auto-detection rules,
prerequisites table, session protocol, and recovery from interruption
- .opencode/skills/flow/flow.md.template — idle state template
Replace TODO.md with FLOW.md:
- FLOW.md in project root — tracks feature, branch, status, session log, next action
- Delete TODO.md (superseded)
Update all references across 11 files:
- run-session/SKILL.md (v5.0): read FLOW.md, detect-state protocol, simplified format
- product-owner.md: 6 references updated
- software-engineer.md: 4 references updated
- system-architect.md: 4 references updated
- select-feature/SKILL.md: load when Status is [IDLE], FLOW.md format
- define-scope/SKILL.md: reset FLOW.md Status
- implement/SKILL.md: build test list, mark in FLOW.md Session Log
- verify/SKILL.md: update FLOW.md Next
- architect/SKILL.md: 4 references updated
- AGENTS.md: session management, escalation, post-mortem reset
* fix(consistency): add flow skill to table, update README, add protocol research
Consistency fixes:
- AGENTS.md skills table: add skill (was missing)
- AGENTS.md filesystem tree: add at root
- README.md: add 'No ambiguity on workflow state' bullet mentioning FLOW.md
Research additions:
- docs/research/ai-agents.md: add 6 entries (72–77) on communication protocols:
* Actor Model (Hewitt 1973) — message-passing ownership
* CSP (Hoare 1978) — synchronous handoff
* Session Types (Honda 1993) — protocol conformance
* Statecharts (Harel 1987) — hierarchical states
* Design by Contract (Meyer 1986) — preconditions/postconditions
* Petri Nets (Petri 1962) — places, transitions, token flow
- Update bibliography with all new sources1 parent 355c879 commit 83e109c
58 files changed
Lines changed: 2339 additions & 1689 deletions
File tree
- .opencode
- agents
- skills
- apply-patterns
- architect
- check-quality
- create-agent
- create-pr
- create-skill
- define-scope
- flow
- git-release
- implement
- refactor
- run-session
- select-feature
- update-docs
- verify
- version-control
- docs
- post-mortem
- research
- scientific-research
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | | - | |
| 45 | + | |
| 46 | + | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
47 | 49 | | |
48 | | - | |
| 50 | + | |
49 | 51 | | |
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
54 | | - | |
55 | | - | |
| 56 | + | |
| 57 | + | |
56 | 58 | | |
57 | 59 | | |
58 | 60 | | |
59 | 61 | | |
60 | 62 | | |
61 | | - | |
| 63 | + | |
62 | 64 | | |
63 | 65 | | |
64 | 66 | | |
65 | 67 | | |
66 | | - | |
| 68 | + | |
| 69 | + | |
67 | 70 | | |
68 | | - | |
69 | | - | |
70 | | - | |
| 71 | + | |
71 | 72 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
0 commit comments