IntentGuard

Original FPAT reconstruction

Operational governanceknowledgefpat

Purpose: Reconstruct the attached nine-card FPAT workflow before simplification and make every retained or removed mechanism traceable.

Intended reader: Maintainers evaluating whether FPAT Lite preserved the important governance.

Consult this when: Comparing FPAT Lite with the original diagrams or considering a governance extension.

Evidence boundary#

The observations below come from the supplied session-entry, decomposition, continuation-planning, execution-pipeline, implementation, board-automation, gate-enforcement, audit-sweep, and handoff diagrams plus the supplied FPAT framework report and visual HTML/CSS.

The diagrams define a concrete GitHub-centric operating model. The conclusion that some mechanisms are excessive for a solo developer is a design judgment, not an assertion that those mechanisms are incorrect.

System purpose#

Original FPAT—Flow-Pack Agent-Team—is a governed delivery system for coding agents:

read-only entry
→ scored planning
→ fixed issue decomposition
→ approval-gated GitHub writes
→ branch / PR / checks / merge
→ board synchronization
→ parent-close enforcement
→ scheduled invariant audit
→ resumable handoff
→ evidence-gated release

Its primary optimization is control and traceability across a GitHub issue tree, not minimal setup.

Actors#

ActorResponsibility
User / operatorSupplies goal, invokes commands, approves mutation packages
Coding agentReads context, plans, edits, validates, and reports evidence
Critic roleAttacks scope, weak evidence, blockers, and overengineering
Research roleChecks known issues, practices, and dependencies
GitHub repositoryHolds code, branches, issues, PRs, workflows, and history
GitHub Projects v2Holds Type, Phase, Area, Status, and Score fields
CI and review servicesValidate a PR before merge
Scheduled audit workflowChecks board invariants without mutation
Next session / agentResumes from the handoff checkpoint

Critic and research are workflow roles; the diagrams do not require that they be separate autonomous agents.

Workflow-by-workflow reconstruction#

1. Session entry — /fpat-prime#

DimensionObserved behavior
PurposeCapture a baseline before every FPAT session
TriggerOperator invokes /fpat-prime
Local sourcesAGENTS.md, CLAUDE.md, board-spec.md, rules/README.md
Remote readsgh repo view, issue list, Project list, workflow list
DecisionAre FPAT assets missing or broken?
Failure pathFlag gaps in the report
Success pathProduce a concise baseline report
ArtifactCited, read-only report under 300 words
GateNo mutation beyond the entry gate until baseline passes

Useful invariant: context and live state precede action.

2. Decomposition — phased issue tree#

DimensionObserved behavior
PurposeTurn one initiative into a GitHub-native execution hierarchy
HierarchyInitiative → umbrella → epics → five sub-issues each
FoundationOne blocking foundation epic closes first
Parallel phaseThree example epics run concurrently after foundation
ReleaseOne release epic stays locked until all parallel epics close
Executable unitOnly a sub-issue may be implemented directly
ClosurePR closes a sub-issue; parent closes after all children close
Sub-issue fieldsConventional-commit title, type, area, parent, acceptance criteria

Useful invariant: executable work is small and independently verifiable. Excessive default: every epic has exactly five children and every goal needs umbrella/foundation/parallel/release structure.

3. Continuation planning — V1 to V2#

DimensionObserved behavior
InputGoal or arguments
BaselineRepository, docs, rules, open issues, and live state
FreezeTimestamp makes the captured baseline immutable for the plan
DraftFive to ten deliberately unscored V1 candidates
CritiqueWeak assumptions, scope creep, and missing evidence
ResearchThree passes: known issues, best practices, dependencies
ScoreValue, risk, readiness, complexity, and evidence; total out of 50
BandsShip at 40+, negotiate at 36–39, defer below 36
ArtifactV2 plan with ship / negotiate / defer lists
GateNo GitHub writes until user approves V2

Useful invariants: critique before commitment, research material uncertainty, and separate planning from mutation. Simplification opportunity: fixed scoring dimensions and thresholds are disproportionate for many small changes.

4. Execution pipeline — issue to five subtasks#

DimensionObserved behavior
InputIssue number or URL
ResolutionResolve canonical owner/repo#N
ContextLoad title, body, labels, state, parent, children, PRs, comments
FramingBrief, source of truth, scope, risks, blockers
ScoreValue, risk, readiness, dependency load, validation ease, rollback safety, evidence
CritiqueScope creep, weak evidence, blockers, overengineering
DecompositionExactly five subtasks
Task contractTitle, purpose, scope, out-of-scope, dependencies, acceptance
ApprovalPresent a read-only package and revise until approved
MutationCreate five GitHub sub-issues after approval

Useful invariant: present a complete mutation package before a remote write. Excessive default: exactly five tasks regardless of natural work shape.

5. Implementation — branch to PR to merge#

DimensionObserved behavior
InputApproved sub-issue
BranchOne named branch per sub-issue
Edit loopImplement → lint/build → fix and rerun
CommitConventional commit with parent epic reference
PRLabels, milestone, assignee/reviewer, mandatory Closes #N
ChecksFPAT Validate, CodeRabbit, Sourcery, Socket, and Vercel examples
GateAll checks must be green
MergeSquash merge to main
CascadeSub-issue closes, epic rollup advances, board Status becomes Done

Useful invariants: one coherent delivery unit, real validation, intentional closure link, and bottom-up progress. Optional details: named third-party checks, mandatory labels/milestones, and fixed merge strategy.

6. Board automation — labels to fields#

DimensionObserved behavior
TriggersOpened, labeled, unlabeled, reopened, manual dispatch
Workflowfpat-project-sync.yml
Inputstype:*, phase:*, and area:* labels
OutputsProject Type, Phase, and Area fields
TokensBuilt-in token reads; separate project token writes GraphQL
ResolutionField and option names resolved at runtime; no hardcoded IDs
SafetyOne-directional, idempotent, no duplicates
ProtectedStatus and Score are never written
Missing labelExisting field remains untouched rather than being cleared

Useful only when a team relies on GitHub Projects v2 as an operational board. It introduces token, GraphQL, field-schema, and maintenance overhead.

7. Gate enforcement — rollup gate#

DimensionObserved behavior
TriggerEpic or umbrella issue closes
Workflowfpat-rollup-gate.yml
QueryNative sub-issues and paginated summary
DecisionDoes the parent have any open children?
Premature pathReopen parent and comment the blocker list
Valid pathParent remains closed
CascadeOne level per event; repeated close events move bottom-up
ScopeWrites issue state, never board fields

Useful invariant: a parent cannot represent completion while descendants remain open. Optional mechanism: automatic reopen/comment workflow.

8. Audit sweep — blocked sweep#

DimensionObserved behavior
TriggerMonday 07:17 UTC or manual dispatch
Workflowfpat-blocked-sweep.yml
AccessProject token reads only
InputsBoard items plus Type, Phase, Status, and Score
Invariant 1Parallel work must not progress before foundation closes
Invariant 2Epic must not leave Backlog with Score below 40
Invariant 3Surface blocked label or Blocked status items
ResilienceMissing or renamed field warns but does not crash
ArtifactWorkflow job summary
GateStop read-only; no issue edits or board writes

Useful for a large persistent board. Disproportionate as a mandatory weekly workflow for a small repository.

9. Handoff — session checkpoint#

DimensionObserved behavior
TriggerSession pause or stage completion
Command/fpat-handoff <stage>
StateExactly one of dry-run, applying, or blocked
CapturesCompleted work and evidence, GitHub surface, decisions, files, validation, next action, pending mutations
Artifact.claude/handoffs/fpat-<slug>.md
ConsumerNext session
DecisionDoes user approve pending mutations?
Approved pathApply writes from pending list
Not approvedWait; checkpoint remains source of truth

Useful invariant: continuity is explicit and evidence-backed. Simplification: one stable .fpat/handoff.md works across agents and avoids platform ownership.

10. Release layer from the report#

The supplied framework report adds a release condition: dogfood the whole system and close the umbrella only after evidence exists. This is consistent with the rollup and validation gates, although the nine cards emphasize the preceding mechanisms rather than a separate release card.

Decision points#

  1. Are baseline assets missing or conflicting?
  2. Which plan candidates survive critique and research?
  3. Which score band receives each candidate?
  4. Does decomposition need revision before approval?
  5. Did local lint/build gates pass?
  6. Did all PR checks pass?
  7. Does a parent have open children?
  8. Do board items violate phase, score, or blocked invariants?
  9. Is an expected board field missing or renamed?
  10. Is the session planning, applying, blocked, or ready?
  11. Has the user approved each pending external mutation?
  12. Does release evidence justify top-level closure?

Mutation inventory#

MutationInitiatorOriginal gate
Create sub-issuesExecution pipelineUser approves package
Create branch and edit filesImplementationApproved sub-issue
Commit and create PRImplementationLocal checks pass
Push / mergeImplementationPR checks green
Close sub-issueMerge plus Closes #NPR merged
Update Project fieldsProject sync automationMatching labels and token
Reopen parent and commentRollup gateParent closes with open children
Apply pending board writesHandoff continuationUser approves pending list
Close release / umbrellaRelease layerDogfood evidence and descendants closed

The audit sweep and prime workflow are deliberately read-only.

Validation gates#

  • Baseline passes before any write.
  • V2 plan is approved before GitHub planning writes.
  • Task package is approved before sub-issues are created.
  • Lint and build pass before commit.
  • All PR checks pass before merge.
  • All children close before a parent remains closed.
  • Board invariants are audited and reported.
  • Release requires end-to-end evidence.

Sources of truth and artifacts#

StageSource of truthArtifact
EntryLocal instructions plus live GitHub stateBaseline report
PlanningFrozen baseline and researchV2 plan
DecompositionApproved issue graphFive-subtask package and sub-issues
ImplementationApproved sub-issue and repositoryBranch, commit, PR, checks
BoardLabels and Project schemaField values
EnforcementNative child issue stateReopen comment or valid close
AuditBoard item snapshotJob summary
ContinuityVerified live session stateHandoff checkpoint
ReleaseDogfood evidence and closed descendantsFinal closure

Dependencies between stages#

Foundation closes
→ parallel epics unlock
→ all parallel epics close
→ release epic unlocks
→ all release children close
→ release epic closes
→ umbrella can close

At the work-unit level:

approved plan
→ approved sub-issue
→ branch
→ local checks
→ PR
→ external checks
→ merge
→ child closes
→ parent progress rolls up

Simplification classification#

KEEP#

  • Read-only baseline before action.
  • Instruction and repository inspection before editing.
  • Known facts separated from assumptions.
  • Brainstorming that includes a simple option.
  • Focused research of material uncertainty.
  • Proportionate plan with scope, non-goals, acceptance criteria, risks, and validation.
  • Small independently verifiable work units.
  • Critique for scope creep and weak evidence.
  • Explicit remote-mutation approval.
  • Local validation and final diff review.
  • Honest passed / failed / skipped / unavailable results.
  • Resumable handoff with exact next action.

SIMPLIFY#

OriginalFPAT Lite
/fpat-prime scans required GitHub surfacesprime inspects only relevant available sources
V1 → three research passes → five-dimension scoreBrainstorm and research only when a choice needs them
Seven-dimension direction scoringShort evidence-based trade-off table
Initiative → umbrella → epic → sub-issueGoal → task → practical checklist
Exactly five sub-issuesTwo to seven when useful; no fixed number
One branch/PR per mandatory sub-issueOne coherent local change; repository delivery policy decides Git
Platform-owned handoff path.fpat/handoff.md shared by all agents
Many rule files and giant promptsThree shared rule documents and six command contracts

MAKE OPTIONAL#

  • GitHub issues as task storage.
  • Branch and pull-request templates.
  • Conventional commits and squash merge.
  • Project v2 boards.
  • Label-to-field synchronization.
  • Parent rollup enforcement.
  • Scheduled blocked-item or invariant audits.
  • External code-review and security services.
  • CI that runs FPAT Lite self-validation.
  • Formal decision records for durable architectural choices.

REMOVE FROM THE CORE#

  • Mandatory umbrella/foundation/parallel/release hierarchy.
  • Mandatory exactly-five decomposition.
  • Fixed score bands and promotion thresholds.
  • Required personal access tokens and dual-token architecture.
  • Required Project fields, label taxonomy, or hardcoded workflow names.
  • Automatic board writes, issue creation, closure, reopening, or comments.
  • Mandatory weekly cron.
  • Named third-party checks.
  • Multi-agent roles created only for appearance.
  • Dashboards, databases, services, and custom orchestration.

Resulting invariant#

FPAT Lite preserves the control loop:

context → choice → evidence-backed plan → scoped change → executed evidence → resume

It removes the assumption that this loop must be represented by a large GitHub issue tree and board automation.

Related in repository

Open in full graph →
LINKS_TOLINKS_TO — source: knowledge-base/README.mdCURRENTdocument: Original FPAT reconstructionFPAT Lite knowledge basedocument: FPAT Lite knowledge base
Hover an edge for its provenance · click a node to open it2 nodes · 1 edges