Releases: s0912758806p/agentic-sop-to-work
second-opinion-honesty v0.2.0 — opt-in enforced acknowledgement gate
Adds the optional enforced acknowledgement gate (做法 3) on top of v0.1.0.
When a project opts in (.second-opinion/require_ack), a project-scoped Stop-hook blocks the session from ending until the latest DRAFT run has a Second Opinion review and a human has acknowledged it.
Highlights
- Promotes the human-owned checkpoint from prose to a code-enforced gate (the iron rule: real enforcement lives in hooks, not prose).
- Enforces THAT a human acknowledged — never WHAT they decided. Anti-loop capped by
SECONDOP_MAX_ACK_RETRIES(default 3); a silent no-op unless opted in, so a global install never blocks unrelated projects. - New:
secondop/gate.py(pure decision),secondop/ack.py(python3 -m secondop.ack— the human action; refuses to ack an unreviewed run),hooks/stop_ack.py+Stopwiring. - 87 tests green (TDD; incl. a subprocess hook integration test); stdlib-only; CI green.
Enable (default-off, per project)
```
mkdir -p .second-opinion && touch .second-opinion/require_ack
```
Install/upgrade as in v0.1.0: /plugin install second-opinion-honesty@agentic-sop-to-work.
second-opinion-honesty v0.1.0 — domain-neutral honesty reviewer
First release of second-opinion-honesty — an independent, domain-neutral adversarial honesty reviewer that pairs with agentic-sop-kit. It checks whether a finished DRAFT's claims are backed by its evidence before a human approves (fabrication, transcription slips, invented IDs, wrong PASS/FAIL, conclusion overreach). It never approves or rejects — a human owns the verdict.
Highlights
- Deterministic engine (stdlib-only):
#1wrong verdict + aggregate recompute ·#2unsourced numbers (nearest-token transcription hint) ·#3invented identifiers/dates →【待補】. - FULL mode (reads a kit
run_dir'strace, HARD @ 1.0) and DEGRADED mode (any document + supplied inputs, SOFT @ 0.5). - Capped advisory LLM layer (
#4overreach): clamp to SOFT / conf ≤ 0.5, evidence-gate, settled-key suppression,SECONDOP_MAX_LLM_PASSEScap — all code-enforced. - Report frozen to
verdict=ADVISORY_ONLY+human_owns_verdict=true— it cannot say "approved". /second-opinioncommand + skill; cross-domain fixtures (pharma / FE / BE / plain doc); 69 tests; stdlib-only.
Install
```
/plugin marketplace add s0912758806p/agentic-sop-to-work
/plugin install second-opinion-honesty@agentic-sop-to-work
```
Pairs with — but installs independently of — agentic-sop-kit. Not a source-code reviewer (that's /code-review) and not a workflow-architecture auditor (that's agentic-workflow-audit).
v1.5.4 — flow GIF + smart intake (P1) + capped fix-loop (P2)
Added
- Smart intake for
agentic-sop— classifies the input on trigger: a written spec / existing skill / filled SOP → use as-is; a natural-language need → Claude drafts a Human SOP (gaps【待補】, no fabrication), pauses for human confirm, then continues to decomposition. (Generative layer only; gates + DRAFT+human spine unchanged.) - Capped auto fix-loop —
run.pyemits a machine-readablefailure{step,gate_type,message,artifact}, and/sop-flowauto-fixes & re-runs on a gate failure, capped byrun.py --max-fix-retries(default 3, code-enforced per run-id →fix_exhausted); exhausted → stop for a human; never patches output to pass. Shares one cap knobSOPKIT_MAX_FIX_RETRIES(default 3) with the Stop-hook regression loop — two layers, one setting. Addstests/integration/test_fix_loop.py.
Changed
- README "At a glance" is now an animated step-by-step flow GIF (
assets/flow.gif, generated byassets/flow/make_flow_gif.py— Pillow, deterministic); the static Mermaid diagram moved into a<details>fallback. Depicts intake routing + the capped fix-loop.
Full changelog: https://github.com/s0912758806p/agentic-sop-to-work/blob/main/CHANGELOG.md
v1.5.3 — CSO Use-when skill descriptions
v1.5.3 — CSO Use-when skill descriptions
Skill discoverability fix. Rewrote the agentic-sop and agentic-workflow-audit skill descriptions to CSO (Claude-Search-Optimization) form so they auto-trigger reliably.
Changed
agentic-sop— description642 → 331charsagentic-workflow-audit— description587 → 379chars- Both now lead with
Use when…(triggering conditions only), drop the embedded process summary (three/seven-phase, gate names), and add reciprocal不適用disambiguation so build requests route toagentic-sopand audit requests toagentic-workflow-audit. - Added
CHANGELOG.md(full history 1.0.0 → 1.5.3).
Why
The old descriptions led with what the skill does and embedded a workflow summary, which (a) violates CSO — a description should be triggering conditions only — and (b) added to the skill-catalog description-budget pressure that was dropping these descriptions from the live catalog entirely. Shorter, trigger-first descriptions restore catalog rendering and improve auto-trigger; once a description renders, triggering no longer depends on a project CLAUDE.md.
Validation
- A/B routing trials (oblique + English prompts): 100% correct routing, no regression vs the old descriptions.
- Regression suite: 14/14 pass. Frontmatter YAML round-trips exactly.
Update
/plugin marketplace update
then update agentic-sop-kit to v1.5.3.
Full changelog: https://github.com/s0912758806p/agentic-sop-to-work/blob/main/CHANGELOG.md
v1.5.2 — engine extraction + bilingual errors
v1.5.2 — engine extraction + bilingual errors
Changed
- Extracted the SOP orchestration engine (
run_step/run_map/print_plan) fromrun.pyintokit/lib/engine.py; slimmedrun.pyto orchestrator-only. - Bilingual (EN / 中文) engine error messages; expanded
--plandocumentation.
Full changelog: https://github.com/s0912758806p/agentic-sop-to-work/blob/main/CHANGELOG.md
v1.5.1 — --plan branch/map + static goto validation
v1.5.1 — --plan branch/map rendering + static goto validation
Fixed
--plannow rendersbranch/mapsteps and statically validates branchgototargets (forward-only, must exist, no duplicates).- Duplicate step-name flagged only at the
gotosite; malformed steps flagged; missinggotohandled. - Added backward-goto and duplicate-name tests.
Full changelog: https://github.com/s0912758806p/agentic-sop-to-work/blob/main/CHANGELOG.md