docs: add Flow model fields table to AGENTS.md § 5#112
Merged
Conversation
Agent-Logs-Url: https://github.com/dgenio/ChainWeaver/sessions/ea105b65-c823-4c09-83be-f81b24fa8cef Co-authored-by: dgenio <12731907+dgenio@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Document flow model fields in AGENTS.md § 5
docs: add Flow model fields table to AGENTS.md § 5
Apr 12, 2026
There was a problem hiding this comment.
Pull request overview
Adds missing documentation for the Flow Pydantic model in AGENTS.md § 5, completing the executor/flow semantics reference so agents have a single place to understand flow structure before step/runtime details.
Changes:
- Added a new
### Flow (Pydantic model)subsection in AGENTS.md § 5. - Documented all
Flowfields (name,description,steps,deterministic,trigger_conditions,input_schema,output_schema) with type/default/meaning.
FlowExecutor never reads the deterministic field and is unconditionally LLM-free. The previous wording implied the flag toggles executor behavior, which is incorrect. - AGENTS.md § 5: reword the deterministic row to note it is a metadata annotation for downstream orchestrators - flow.py: update the deterministic attribute docstring to match
Python 3.14 changed the integer floor-division ZeroDivisionError message
from 'integer division or modulo by zero' to 'division by zero'. The old
assertion passed on CI (3.10-3.13) but failed locally on Python 3.14+.
- tests/test_flow_execution.py: replace brittle CPython-version-specific
string with 'division by zero' (stable 3.10-3.14+) and retain the tool
name check ('divide') for meaningful coverage
- README.md: update deterministic field comment from '# enforced by design'
to '# metadata annotation; executor is always LLM-free' to align with
the docstring and AGENTS.md corrections in the previous commit
Conflict in tests/test_flow_execution.py between this branch's string-containment assertion and main's typed record.error.detail set-membership check (landed via PR #110 and #109). Taking main's version — it checks the typed attribute directly and explicitly enumerates both CPython 3.13 and 3.14+ message strings.
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.
AGENTS.md § 5 documented
FlowStep.input_mapping,ExecutionResult, andStepRecordbut left theFlowmodel fields entirely undocumented.Changes
### Flow (Pydantic model)subsection with a reference table covering all seven fields —name,description,steps,deterministic,trigger_conditions,input_schema, andoutput_schema— including type, default, and a concise description of each. Positioned before the existingFlowStep.input_mappingsection so the section flows from model definition → step semantics → runtime results.