Flashy — persistent execution discipline
Prevents an agent from abandoning a build halfway. Locks the objective, expands it into milestones, tracks live execution state, scans for drift after every milestone, detects artificial stops ("here's a starting point"), checkpoints honestly on genuine limits, and gates completion on a quality checklist.
Mission rule: a draft is not a delivery. Completion is measured by whether the user actually received the usable thing they asked for.
No prerequisites. The mechanism is the whole product.
(Lineage: this is the front-facing conversion of the flashy skill from
Ryan's skill-suite, MIT — itself a port of an execution-discipline
protocol into skill format. What changed in the conversion is documented
in CHANGELOG.md.)
What it does
For any substantial build/create/write task, run the core loop — lock, move, verify:
- Lock the objective. Extract three things from the request: the stated deliverable, the implicit quality bar ("a login form" implies validation and error states even if unsaid), and the implicit scope boundaries. Once locked, the objective is immutable for the rest of the task: subtasks don't replace the mission, explanations don't replace execution, planning doesn't replace progress.
- Expand into milestones. Objective → Major Milestones → Subtasks → Implementation Steps → Verification → Delivery.
- Track execution state. A real state machine —
LOCKED → PLANNING → EXECUTING → VERIFYING → DONE, withBLOCKEDreachable fromEXECUTING/VERIFYING— enforces the transition rules in code: noVERIFYING → DONEwithout every Quality Gate box checked, no silentEXECUTING → PLANNINGwithout an explicit user-driven scope change, noBLOCKED → EXECUTINGwithout an emitted checkpoint. - Scan for drift after every milestone. Four questions: still solving the original problem? wandered into explanation instead of building? forgot earlier requirements? would the user call this finished? On drift: discard the thread, restate the objective, resume from the last verified milestone.
- Detect artificial stops. "Here's a starting point," "the rest follows similarly," "due to space..." — these are execution failures, not conclusions. The package scans output for the phrase list and flags them; the operator rewrites the impulse as Continue Working.
- Checkpoint honestly on genuine limits. Context cutoff, tool error,
or a low-confidence blocker with no safe default — emit a checkpoint
with a resume token (
finish:<slug>-m<N>) and continue next turn. Fatigue and "this feels done" are failures, not checkpoints. - Verify before done. The seven-box Quality Gate is a hard gate, not a vibe check. Any unchecked box = IN PROGRESS.
Execution bias: build before briefing. Build → Verify → Polish → Explain. Understanding the problem well enough to act is the signal to stop analyzing and start executing. And the end-of-response gate: a response ending is not a task ending — if useful progress can still be made, keep executing; don't hand the turn back for permission.
Pause only for implementation-changing decisions — choice of database/language/framework, deployment target, a required credential, or an ambiguity where two reasonable interpretations produce meaningfully different deliverables. "Continue?" / "Should I keep going?" are never valid stopping points.
Why it works
Most abandoned builds don't fail — they decay. The objective quietly gets replaced by a subtask. Explanation replaces execution. A response "feels long enough" and stops. Flashy attacks the decay mechanically:
- The state machine makes the rules structural: you cannot declare
done without the gate, cannot silently re-plan, cannot resume from a
block without a checkpoint. The failure modes are
TransitionErrors, not suggestions. - Artificial-stop detection catches the exact phrases long tasks die on — as a string scan, in code, every time.
- The confidence engine (High/Medium/Low) resolves ambiguity without blocking: High proceeds silently, Medium proceeds stating the assumption inline, only Low pauses. Most ambiguity never surfaces as a stop.
- Checkpoints with resume tokens make interruption recoverable without the user re-explaining anything — which removes the incentive to quietly abandon a task at a session break.
Quickstart
Zero dependencies beyond Python 3.10+. No model, no network — this package is pure discipline machinery.
cd flashy
python3 -m unittest discover -s tests # 41 offline tests — prove the machinery first
python3 examples/demo_session.py # watch a session run LOCKED -> DONE
Or use it as a library:
from flashy import MissionSession
session = MissionSession(
"Deliver a functional, usable, in-browser debate simulator.",
slug="debate-sim",
)
session.plan(["Architecture", "UI", "Logic", "Persistence", "Testing", "Delivery"])
session.start_executing()
for milestone in ["Architecture", "UI", "Logic", "Persistence", "Testing", "Delivery"]:
assert session.end_of_response_gate() == "continue"
session.complete_milestone(milestone)
print(session.dashboard())
session.begin_verification()
session.gate.check_all()
session.finish() # raises unless every box is checked
assert session.machine.state == "DONE"
Inputs, outputs
- Input: a locked objective (the finished thing, not the artifact type), milestones, constraints, pending decisions.
- Output: a driven session — dashboard state, checkpoints with resume tokens, and a DONE that actually means done. The package never writes files; your harness owns persistence.
Worked examples
Three in examples/, a stranger can follow all of them:
example-1-debate-simulator-walkthrough.md— the full loop end to end on a browser debate simulator (ported from the original skill, unchanged).example-2-anti-patterns.md— before/after pairs: artificial-stop language vs. the corrected continuation (ported, unchanged).example-3-flashy-session.md— the machinery itself: every transition, gate, and checkpoint shown as the code enforces it. Rundemo_session.pyto watch it execute.
All fields are constructed for teaching — they show the discipline's shape, not real findings.
FAQ
Does this make the model smarter? No. It makes it finish things. Execution discipline, not reasoning quality.
Does it need an internet connection? No. No model calls at all — the 41 unit tests and the demo run fully offline.
What does it cost? Nothing. Free, dependency-free, offline.
When should it not fire? Trivial tasks (a single short answer), genuine user decisions pending, safety constraints, or real platform limits. Never deactivate because a response "feels long enough."
License
MIT. See LICENSE.
Metadata
Release files for frontface-flashy 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| frontface_flashy-1.2.0.tar.gz | 23.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| frontface_flashy-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.8 kB
Release files / frontface_flashy-1.2.0.tar.gz
| Download URL | frontface_flashy-1.2.0.tar.gz |
|---|---|
| Size | 23.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0afbfe6190db4cc1c454760ca0c4e6414815172118e31de4cb8f6b7b938275bc
|
|
BLAKE2b-256 checksum How to use checksums |
1e0af4ec464bdb39694c7a43151be9fe59fafca1dfb56e1e7d18a5eff7e735c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / frontface_flashy-1.2.0-py3-none-any.whl
| Download URL | frontface_flashy-1.2.0-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ffee0b49184a753f5d4a21a294b7661213af661a12712fd5d58316689faebab4
|
|
BLAKE2b-256 checksum How to use checksums |
dd3f6eb478cb33452cdfcb8cc5bf38a97ba28997a14ee1525236270ec69fa776
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency log