feat: v8 — flow-based delivery system with consistency audit fixes#126
Merged
feat: v8 — flow-based delivery system with consistency audit fixes#126
Conversation
…stem - Replace static FLOW.md/WORK.md with YAML flow definitions in docs/flows/ - Add .flowception/ for session state tracking (gitignored) - Extract knowledge from skills into .opencode/knowledge/ wikilink system - Add create-knowledge skill for knowledge management - Add docs/flows/ with feature-flow, scope-cycle, arch-cycle, tdd-cycle YAMLs - Add scripts/check_knowledge.py for knowledge validation - Add docs/assets/workflow.svg visual asset - Update all skills to reference knowledge via wikilinks instead of inline content - Update AGENTS.md to reflect new workflow structure - Simplify FLOW.md and WORK.md to redirects
- Add version, exits, attrs to all flow YAML files - Remove type field (subflow implied by flow: presence) - Remove state-level requires/params/agent (moved to when/attrs) - Move agent assignments to flow-level attrs.agents mapping - Add flow-version constraints to subflow references - Convert requires (state-level) to when (transition-level) guards - Update flow skill to v3.0 with v1 format rules - Update state-machine knowledge with v1 spec
…files Move change tracking from centralized docs/discovery.md into a ## Changes section at the bottom of each .feature file. The Changes table uses three columns (Session, Q-IDs, Change) and is append-only per session. - Delete docs/discovery.md and discovery.md.template - Add ## Changes section to feature.md.template - Migrate existing cli-entrypoint data to ## Changes - Update all references in AGENTS.md, define-scope, run-session, product-owner, update-docs, verify skills - Remove Discovery doc card from update_index_html.py and index.html
The Gherkin parser silently drops content after the last Rule: block. Move ## Changes to the description area (before Rule: blocks) alongside Status, Rules (Business), and Constraints.
…cally - Remove pytest-beehave[html] from pyproject.toml dev deps - Remove [tool.beehave] config section - Remove -p no:beehave from test-build command - Reimplement assign_ids.py without pytest-beehave import: generates 8-char hex IDs for untagged Examples, writes them into .feature files, verifies global uniqueness - Add deprecated marker skip hook to tests/conftest.py - Remove pytest_html_report_title hook (was pytest-beehave provided) - Update AGENTS.md stub generation and deprecated marker docs
… cards - Create docs/product-definition.md with template structure (What IS/IS NOT, Why, Users, Out of Scope, Delivery Order) matching flowr pattern - Trim README.md: remove delivery cycle, living documentation views, and development standards sections; add documentation links section - Add Product Definition and Scope Journal doc cards to scripts/update_index_html.py; regenerate docs/index.html - Add Product definition line to AGENTS.md header; add product-definition.md to filesystem structure - Fix lint issues in scripts/assign_ids.py (secrets instead of random, simplify tag detection logic)
Change flow-version to flow_version (underscore) and add .yaml extension to subflow references so flowr's loader can resolve them correctly.
Add flowr>=0.3 as dev dependency for flow YAML validation. Add validate-flows task that validates all 4 .flowr/ YAML files. Add validate-flows to AGENTS.md development commands.
…ions/ subdirs Move flow definitions to .flowr/flows/ and session files to .flowr/sessions/session.yaml. Delete .flowception/ directory. - Move 4 flow YAML files from .flowr/ to .flowr/flows/ - Move session file to .flowr/sessions/session.yaml - Update subflow references in feature-flow.yaml to flows/ prefix - Update all 50+ references across 14 files - Update .gitignore, validate-flows task, AGENTS.md filesystem structure - Single session file pattern (overwrite on each transition)
…ut attrs, and real flowr commands - Flow-based delivery: 12 flow YAMLs with in/out attrs, 41 skills mapped to states - Research library: 71+ research files in v8 template format with verified citations - Flow attrs: simplified from input/edited/output to in/out across all flows and skills - Artifact naming: descriptive runtime names (typed_source_stubs, test_skeletons, etc.) - Two-phase stubs: SA creates typed stubs + test stubs per feature in planning flow - Test location: tests/features/ for @id BDD tests, tests/unit/ for coverage tests - Semantic depth: @id tests must exercise entry point described in AC - Verify-traceability: 1-1 @id-to-test correspondence check - Spec compliance: define-done verifies technical design interfaces exist in implementation - MoSCoW prevention: internal triage only, must NOT appear as Gherkin tags - Minimum stub principle: Protocol + raise NotImplementedError, no docstrings/type hints - Reviewer role: MUST NOT modify files, 'minor' is not a pass - Spec doc protection: read-only during TDD, gaps flagged in output notes - On-demand reading: in artifacts read selectively, not eagerly - Real flowr commands: AGENTS.md uses python -m flowr check/next/transition - Generic exit steps: skills say 'advance with evidence' not hardcoded transitions - Owner dispatch: promoted to step 2 in Session Protocol - Knowledge: workflow/flowr-operations, full loading for review skills - Terminology: 'cosmetic' → 'conventions', 'Completion Phase' → 'Conventions Phase' - Flowviz moved to .flowr/viz/, removed scripts/ directory - Design system: design agent, branding flow, visual harmony, colour theory knowledge - Setup project flow: Setup Agent, 4 setup skills, template config - Branding: identity design, colour systems, project assets knowledge files - WSJF: Dependency=0 only, ties broken by Value - Architecture: assessment conditions fixed, ATAM, C4, Team Topologies, Hexagonal research - Design: Wertheimer, Biederman, Kare, Müller-Brockmann, Lupton, Hicks research - Psychology: Miller 7±2, Flanagan CIT, Gollwitzer implementation intentions research - Template: feature test stub, CHANGELOG, branding, ADR, interview note, post-mortem - Versioning: semver v8.0.0 in pyproject.toml, +YYYYMMDD in git tags
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key Changes
Flows
Agents
software-engineer.md(identity-only per design principles)opencode.jsonTemplates & Conventions
docs/features/<name>/<name>.feature(no in-progress/completed subdirs)docs/features/in-progress/referenceCleanup