Repository navigation
fix(corpflow): State the build/test and worktree contracts in CORPFLOW.md - #22
Merged
Merged
Conversation
CORPFLOW.md is the only corpflow-facing file in this plugin, so it is where a sibling agent learns the stage contract. A four-platform run surfaced four gaps, each causing observable cross-agent divergence. Build and test was absent entirely, and android's copy contradicted corpflow by directing the agent at raw Gradle. Two streams denied by the test-execution gate invented --build-only, which is not a real flag, and fell back to toolchain calls that agents/developer.md forbids. The file now names the build-test command, --no-test for build-only, and the two correct outcomes when the gate still denies. Worktree isolation was absent. The file said nothing outside .context/ was the agent's to create, which is wrong for DV, and said nothing about the assigned-tree check. Two agents resolved it differently; one relocated its tree and staled every guard keyed to metadata.workspace_path. The file now states that a mismatch means stop and report, that agents neither create nor move worktrees, and that the pin is re-confirmed before each write batch. The authoritative screenshot manifest was unnamed, so a stream invented its own ledger key to avoid erasing a sibling's rows. The return summary's role as the completion signal was implicit, so a finished stage that reported out of band sat at in_progress with its artifact on disk.
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.
Motivation
CORPFLOW.mdis the only file in this plugin that knows corpflow exists — the single thing a sibling agent reads on entry to learn the stage contract. A four-platform, eleven-stage stress test surfaced four gaps in it. Each produced observable cross-agent divergence; one was an outright contradiction of corpflow's own rules.Changes
agents/developer.mdforbids## Build and test (BINDING)— use the plugin'sbuild-testcommand,--no-testfor build-only, and the two correct outcomes when the gate still denies.context/is yours to create" — wrong for DV## Worktree isolation (DV)— mismatch means stop and report; never create/move worktrees; re-confirm the pin before each write batchscreenshots.mdis the record of authority; do not read/writefacts.screenshotsAdditive only — no restructuring. Section order is now Evidence → Build and test → Worktree → Artifacts.
What went wrong without these
--build-only(not a real flag on any plugin's command, so it classifies as a full test run and is denied again), and both fell back to direct toolchain calls.metadata.workspace_path.in_progressbecause it reported out of band.Test plan
Documentation-only; no executable behaviour. Verified:
CORPFLOW.mdfiles patched identically; plugin name correctly substituted into eachbuild-testreference (/apple-developer:build-test,/frontend-developer:build-test, …).grep -c 'use scoped .Bash(gradle'→ 0 — and replaced with a pointer to the build-test command, retaining scopedBash(adb:*)for evidence capture.## Artifactsscope sentence and android's evidence line.Notes
The
## Artifactsline was corrected rather than deleted:.context/remains the artifact home, and DV additionally owns its assigned platform tree inside its worktree.