{"id":51688860,"url":"https://github.com/scottconverse/dev-rigor-stack-lite","last_synced_at":"2026-07-16T00:01:44.853Z","repository":{"id":371601998,"uuid":"1301221031","full_name":"scottconverse/dev-rigor-stack-lite","owner":"scottconverse","description":"Portable hook-free evidence-first development and release skills for Codex, Claude Code, Antigravity, and Agent Skills hosts","archived":false,"fork":false,"pushed_at":"2026-07-15T21:21:57.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-15T21:27:15.796Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scottconverse.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-15T05:08:13.000Z","updated_at":"2026-07-15T21:22:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/scottconverse/dev-rigor-stack-lite","commit_stats":null,"previous_names":["scottconverse/dev-rigor-stack-lite"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/scottconverse/dev-rigor-stack-lite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottconverse%2Fdev-rigor-stack-lite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottconverse%2Fdev-rigor-stack-lite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottconverse%2Fdev-rigor-stack-lite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottconverse%2Fdev-rigor-stack-lite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottconverse","download_url":"https://codeload.github.com/scottconverse/dev-rigor-stack-lite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottconverse%2Fdev-rigor-stack-lite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35524897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-15T02:00:06.706Z","response_time":131,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-16T00:00:33.787Z","updated_at":"2026-07-16T00:01:44.771Z","avatar_url":"https://github.com/scottconverse.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dev-rigor-stack-lite\n\nA portable, evidence-first development and release workflow for AI coding agents. It\ncontains the complete 19-skill workflow from `codex-dev-rigor-stack`, adapted to run\nwithout lifecycle hooks, a background runtime, trust activation, Stop interception, or a\nprivate evidence ledger — plus two drift-resistance layers that **install by default\nwith everything else**: a small **anchor block** for the host's persistent instructions\nfile, and **rigor-goals**, a stdlib-only CLI whose exit gate refuses to close a\nmulti-story job without verification evidence.\n\nThese are part of the stack, not extras. Skills alone are advice — a model can drift\noff them in a long session and nothing pushes back; the anchor and the goals gate are\nwhat make the discipline hold. There is no on-switch because they are never off. There\nIS an off-switch (`--no-anchor` / `--no-goals`, or deleting the anchor block) — and it\nbelongs to the human owner alone. An agent never passes the opt-outs or disables the\nblock on its own initiative; the anchor text itself carries that rule.\n\n## The three tiers\n\nModel attention decays over a long session and dies at context compaction; hooks fight\nthat with per-turn injection but are host-specific. Lite v2 instead moves the\ndiscipline's memory into places that do not decay:\n\n| Tier | What | Force | Why it resists drift |\n|---|---|---|---|\n| 1 | The 19 skills | none — invoked knowledge | — |\n| 2 | Anchor block in `CLAUDE.md` / `AGENTS.md` / `GEMINI.md` | reminder every turn | the host re-reads its instructions file each turn |\n| 3 | `rigor-goals` CLI | one hard gate at \"done\" | state lives in `./.rigor/` on disk — survives compaction and session death; the *refusal* is a program, not a prompt (what it checks is that evidence is named and recorded — see the precision note below) |\n\nThe anchor's one enforced habit — \"multi-step work: run `rigor-goals create` FIRST\" — is\nwhat feeds Tier 3. One reminder feeding one gate, instead of continuous forcing.\n\n## What changes in Lite\n\n- Skills, references, templates, and deterministic helper scripts remain.\n- Evidence comes from ordinary commands, logs, CI, screenshots, traces, hashes, and reports.\n- Host policies control delegation, approvals, merges, publishing, and available tools.\n- Passing a gate establishes readiness; it never grants the agent authority to merge or publish.\n- Missing capabilities are reported as blocked or unverifiable rather than silently passed.\n\n## Compatibility\n\nThe bundle uses the portable Agent Skills layout: one directory per skill with a\n`SKILL.md` containing `name` and `description` YAML frontmatter. It is designed for:\n\n- OpenAI Codex: `~/.codex/skills`\n- Claude Code: project `.claude/skills` or user `~/.claude/skills`\n- Google Antigravity: project `.agents/skills` or user `~/.gemini/config/skills`\n- Other Agent Skills-compatible hosts\n\nThe Markdown workflows are portable; tool availability and instruction adherence vary by\nhost and model. This repository does not claim mechanical enforcement.\n\n## Install\n\nPowerShell:\n\n```powershell\n.\\install.ps1 -Target \"$HOME\\.codex\\skills\"\n.\\install.ps1 -Target \".claude\\skills\"\n.\\install.ps1 -Target \".agents\\skills\"\n```\n\nBash:\n\n```sh\n./install.sh \"$HOME/.codex/skills\"\n./install.sh .claude/skills\n./install.sh .agents/skills\n```\n\nInstallation copies only the 19 directories under `skills/`. Existing directories with\nthe same names are refused unless `-Force` or `--force` is supplied.\n\n### The anchor block and rigor-goals install by default\n\nA plain `./install.sh .claude/skills` (or `.\\install.ps1 -Target \".claude\\skills\"`)\ninstalls all three tiers: the 19 skills, the `rigor-goals` tool (default:\n`\u003cTARGET\u003e/../tools/`), and the anchor block (default: `CLAUDE.md`, `GEMINI.md`, or\n`AGENTS.md` in the current directory, inferred from the target path). Run the installer\nfrom the project you are setting up.\n\n`--anchor FILE` / `-Anchor` and `--goals DIR` / `-Goals` override the default locations.\nThe anchor install is idempotent: on upgrade the marker-fenced block is replaced in\nplace, hand edits outside the markers survive, and a diff is printed.\n\n`--no-anchor` / `-NoAnchor` and `--no-goals` / `-NoGoals` are **owner-only opt-outs**.\nThey exist so the human who owns the machine can turn the discipline off; an agent\nrunning the installer must never pass them on its own initiative.\n\n### rigor-goals in 30 seconds\n\n```sh\npython3 tools/rigor_goals.py create --brief \"ship feature X\" \\\n  --goal \"api::add the endpoint\" --goal \"docs::update the manual\"\npython3 tools/rigor_goals.py next\npython3 tools/rigor_goals.py checkpoint --id G001 --status complete --evidence \"test_api.py: 4 passed\"\npython3 tools/rigor_goals.py next\npython3 tools/rigor_goals.py checkpoint --id G002 --status complete --evidence \"manual updated\" \\\n  --verify-cmd \"pytest \u0026\u0026 python tools/validate_bundle.py\" --verify-evidence \"12 passed; BUNDLE_VALID\"\npython3 tools/rigor_goals.py status\n```\n\nThe final story refuses to complete without `--verify-cmd` and `--verify-evidence` —\nthat refusal is the point. State lives in `./.rigor/` (add it to `.gitignore` or commit\nit; your choice). A fresh session resumes with `status`.\n\nBe precise about what the gate is: `rigor-goals` **records** the verification command\nand its result — it does not run the command or check the result is true. It is a\nworkflow-completeness gate (no story closes without named evidence), not independent\nproof enforcement. The honesty of the evidence is the agent's obligation and the\nreviewer's to check. One active plan per working tree: concurrent tasks sharing a\ncheckout will fight over `./.rigor/` — use separate worktrees.\n\n**Known limitation — the state is a file, not a fortress.** Any process that can delete\nfiles in the workspace can destroy the plan, and nothing in-repo can detect a deletion\nthat also removes the ledger. Replacing a plan is loud (`create --force` prints what it\ndestroys, and every ledger event carries a `plan_id`), but if other agents or tools share\nthe same checkout, commit `./.rigor/` or back it up externally — the gate is only as\ndurable as the files it lives in.\n\n## Main entrypoints\n\n- `dev-rigor-stack-lite` — coordinate PLAN → BUILD → VERIFY → REVIEW → MERGE\n- `dev-rigor-stack-lite-plan`\n- `dev-rigor-stack-lite-build`\n- `dev-rigor-stack-lite-proof-gate`\n- `dev-rigor-stack-lite-audit-lite`\n- `dev-rigor-stack-lite-audit-team`\n- `dev-rigor-stack-lite-walkthrough`\n- `dev-rigor-stack-lite-visitor-audit`\n- `dev-rigor-stack-lite-gauntletgate`\n- `dev-rigor-stack-lite-merge-gate`\n- `dev-rigor-stack-lite-docs-gate`\n- `dev-rigor-stack-lite-continuity`\n- `dev-rigor-stack-lite-release`\n\nSix short-name entrypoints are also included: `coder-tdd-qa-lite`, `proof-gate-lite`,\n`quick-audit-lite`, `audit-team-lite`, `gauntletgate-lite`, and `visitor-audit-lite`.\n(`quick-audit-lite` was `audit-lite` before 0.3.1 — renamed because it was the one name\nthat collided with, and could silently overwrite, a full dev-rigor-stack install sharing\nthe same skills directory.)\n\n## Validate\n\n```sh\npython tools/validate_bundle.py\n```\n\n## Provenance\n\nThis is a hook-free adaptation of\n[`scottconverse/codex-dev-rigor-stack`](https://github.com/scottconverse/codex-dev-rigor-stack),\noriginally released under the MIT License. See [NOTICE.md](NOTICE.md).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottconverse%2Fdev-rigor-stack-lite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottconverse%2Fdev-rigor-stack-lite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottconverse%2Fdev-rigor-stack-lite/lists"}