devrites 2.6.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/README.md +85 -50
- package/SECURITY.md +65 -39
- package/bin/devrites.mjs +135 -51
- package/docs/agents/domain.md +58 -0
- package/docs/agents/issue-driven-rites.md +11 -0
- package/docs/agents/issue-tracker.md +29 -0
- package/docs/agents/triage-labels.md +15 -0
- package/docs/architecture.md +60 -35
- package/docs/capability-surface-selection.md +18 -0
- package/docs/cli.md +53 -0
- package/docs/command-map.md +59 -22
- package/docs/engine/agent-contract.md +92 -0
- package/docs/engine/commands.md +323 -0
- package/docs/engine/state-schema.md +134 -0
- package/docs/engine/workspace-schema.md +150 -0
- package/docs/extensions.md +178 -0
- package/docs/flow.md +19 -16
- package/docs/harness-compliance.md +45 -0
- package/docs/orchestration.md +6 -4
- package/docs/porting-to-a-new-harness.md +27 -0
- package/docs/quick-reference.md +22 -0
- package/docs/release.md +3 -3
- package/docs/skills.md +42 -48
- package/docs/usage.md +21 -8
- package/engine/.gosec.json +5 -0
- package/engine/Makefile +64 -0
- package/engine/commands.go +195 -0
- package/engine/go.mod +5 -0
- package/engine/harnessmatrix.go +60 -0
- package/engine/harnessmatrix_test.go +59 -0
- package/engine/hookpolicy.go +114 -0
- package/engine/hookpolicy_test.go +64 -0
- package/engine/hooks.go +336 -0
- package/engine/hooks_events_test.go +106 -0
- package/engine/hooks_workspace.go +603 -0
- package/engine/internal/devritespaths/paths.go +76 -0
- package/engine/internal/doctor/doctor.go +178 -0
- package/engine/internal/doctor/doctor_test.go +150 -0
- package/engine/internal/fsutil/copy.go +101 -0
- package/engine/internal/fsutil/replace_other.go +7 -0
- package/engine/internal/fsutil/replace_windows.go +31 -0
- package/engine/internal/gate/gate.go +243 -0
- package/engine/internal/gate/gate_test.go +145 -0
- package/engine/internal/harness/compliance.go +102 -0
- package/engine/internal/harness/harness.go +304 -0
- package/engine/internal/harness/harness_test.go +104 -0
- package/engine/internal/hostpack/hostpack.go +259 -0
- package/engine/internal/hostpack/hostpack_test.go +111 -0
- package/engine/internal/hostpack/templates/alias_skill.md.tmpl +11 -0
- package/engine/internal/hostpack/templates/devrites_readme.md.tmpl +14 -0
- package/engine/internal/install/install.go +1560 -0
- package/engine/internal/install/install_test.go +564 -0
- package/engine/internal/iohooks/detach_other.go +11 -0
- package/engine/internal/iohooks/detach_unix.go +11 -0
- package/engine/internal/iohooks/iohooks.go +546 -0
- package/engine/internal/iohooks/iohooks_test.go +130 -0
- package/engine/internal/lib/adoption.go +634 -0
- package/engine/internal/lib/adoption_test.go +91 -0
- package/engine/internal/lib/analyze.go +224 -0
- package/engine/internal/lib/archivesearch.go +93 -0
- package/engine/internal/lib/archivesearch_test.go +110 -0
- package/engine/internal/lib/budget.go +172 -0
- package/engine/internal/lib/buildreadiness.go +88 -0
- package/engine/internal/lib/checkacceptance.go +176 -0
- package/engine/internal/lib/closeout.go +69 -0
- package/engine/internal/lib/command_other.go +7 -0
- package/engine/internal/lib/command_unix.go +24 -0
- package/engine/internal/lib/context.go +236 -0
- package/engine/internal/lib/conventions.go +449 -0
- package/engine/internal/lib/coverage.go +145 -0
- package/engine/internal/lib/doubtcoverage.go +88 -0
- package/engine/internal/lib/evidencefresh.go +85 -0
- package/engine/internal/lib/extensions.go +619 -0
- package/engine/internal/lib/extensions_test.go +305 -0
- package/engine/internal/lib/footprint.go +239 -0
- package/engine/internal/lib/jsonout.go +115 -0
- package/engine/internal/lib/jsonout_test.go +57 -0
- package/engine/internal/lib/lanes.go +106 -0
- package/engine/internal/lib/learnings.go +391 -0
- package/engine/internal/lib/learnings_inject_test.go +77 -0
- package/engine/internal/lib/learnings_remediation_test.go +24 -0
- package/engine/internal/lib/ledger.go +298 -0
- package/engine/internal/lib/ledger_test.go +162 -0
- package/engine/internal/lib/mutationgate.go +85 -0
- package/engine/internal/lib/overrides.go +164 -0
- package/engine/internal/lib/overrides_test.go +112 -0
- package/engine/internal/lib/packageexistence.go +175 -0
- package/engine/internal/lib/preamble.go +159 -0
- package/engine/internal/lib/progress.go +168 -0
- package/engine/internal/lib/reconcile.go +173 -0
- package/engine/internal/lib/reconcile_test.go +197 -0
- package/engine/internal/lib/resolve.go +376 -0
- package/engine/internal/lib/resolve_remediation_test.go +49 -0
- package/engine/internal/lib/reviewers.go +143 -0
- package/engine/internal/lib/reviewers_test.go +45 -0
- package/engine/internal/lib/reviewerstats.go +199 -0
- package/engine/internal/lib/reviewerstats_test.go +104 -0
- package/engine/internal/lib/reviewintegrity.go +143 -0
- package/engine/internal/lib/reviewintegrity_test.go +103 -0
- package/engine/internal/lib/runbook.go +292 -0
- package/engine/internal/lib/runbook_context_test.go +119 -0
- package/engine/internal/lib/session.go +328 -0
- package/engine/internal/lib/session_test.go +110 -0
- package/engine/internal/lib/specparse.go +125 -0
- package/engine/internal/lib/specskeleton.go +79 -0
- package/engine/internal/lib/specvalidate.go +391 -0
- package/engine/internal/lib/specvalidate_test.go +185 -0
- package/engine/internal/lib/stuck.go +206 -0
- package/engine/internal/lib/templates/conventions_drift.tmpl +6 -0
- package/engine/internal/lib/templates/conventions_ledger_header.md +6 -0
- package/engine/internal/lib/templates/conventions_orient_header.txt +1 -0
- package/engine/internal/lib/testintegrity.go +203 -0
- package/engine/internal/lib/testintegrity_test.go +72 -0
- package/engine/internal/lib/tickafk.go +99 -0
- package/engine/internal/lib/util.go +68 -0
- package/engine/internal/migrate/migrate.go +213 -0
- package/engine/internal/migrate/migrate_test.go +105 -0
- package/engine/internal/orient/firstrun.go +50 -0
- package/engine/internal/orient/firstrun_test.go +72 -0
- package/engine/internal/orient/orient.go +69 -0
- package/engine/internal/orient/orient_test.go +25 -0
- package/engine/internal/profile/profile.go +270 -0
- package/engine/internal/state/concurrency_test.go +184 -0
- package/engine/internal/state/feature.go +309 -0
- package/engine/internal/state/lock_other.go +24 -0
- package/engine/internal/state/lock_unix.go +35 -0
- package/engine/internal/state/lock_windows.go +56 -0
- package/engine/internal/state/schema.go +102 -0
- package/engine/internal/state/snapshot.go +384 -0
- package/engine/internal/state/state_test.go +260 -0
- package/engine/internal/state/status.go +90 -0
- package/engine/internal/state/write.go +59 -0
- package/engine/internal/testutil/testutil.go +66 -0
- package/engine/internal/version/version.go +57 -0
- package/engine/internal/workflow/commands.go +64 -0
- package/engine/main.go +530 -0
- package/engine/profile_test.go +76 -0
- package/engine/subagent_orient_context.txt +6 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/decisions.md +4 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/feature.md +8 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/plan.md +5 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/spec.md +6 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/status.md +4 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/auth-tokens/tasks.md +1 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/feature.md +8 -0
- package/engine/testdata/fixtures/basic/devrites-root/features/search-ranking/spec.md +6 -0
- package/engine/testdata/golden/TestParityA1Guard/devrites-edit-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/inline-fallback-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/no-window-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/non-edit-tool.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/observe-mode-silent.golden +1 -0
- package/engine/testdata/golden/TestParityA1Guard/source-edit-enforce-denies.golden +2 -0
- package/engine/testdata/golden/TestParityA1Guard/subagent-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/noactive.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=covered.golden +15 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=dangling.golden +16 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=noac.golden +15 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=order.golden +17 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=orphan.golden +16 -0
- package/engine/testdata/golden/TestParityAnalyze/slug=uncovered.golden +16 -0
- package/engine/testdata/golden/TestParityBudget/default-active.golden +4 -0
- package/engine/testdata/golden/TestParityBudget/extra-md.golden +5 -0
- package/engine/testdata/golden/TestParityBudget/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityBudget/no-feature.golden +1 -0
- package/engine/testdata/golden/TestParityBudget/over-advisory.golden +6 -0
- package/engine/testdata/golden/TestParityBudget/over-strict.golden +6 -0
- package/engine/testdata/golden/TestParityBudget/within.golden +6 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approved.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=approvenone.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=await.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=blocked.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=emptystatus.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=noapprove.golden +1 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailhash.golden +2 -0
- package/engine/testdata/golden/TestParityBuildReadiness/arg=trailpipe.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=blank-section.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=empty.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-dropped.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-ok.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=flat-unchecked.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-gap.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=id-ok.golden +2 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-seal.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=no-section.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParityCheckAcceptance.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/active_pointed_elsewhere.golden +2 -0
- package/engine/testdata/golden/TestParityCloseOut/active_slug_cleared.golden +2 -0
- package/engine/testdata/golden/TestParityCloseOut/archive_clobber.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/missing_slug.golden +1 -0
- package/engine/testdata/golden/TestParityCloseOut/missing_workspace.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=flat.golden +7 -0
- package/engine/testdata/golden/TestParityCoverage/arg=full.golden +10 -0
- package/engine/testdata/golden/TestParityCoverage/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=nospec.golden +1 -0
- package/engine/testdata/golden/TestParityCoverage/arg=speconly.golden +9 -0
- package/engine/testdata/golden/TestParityCoverage.golden +1 -0
- package/engine/testdata/golden/TestParityCursor/bare.golden +3 -0
- package/engine/testdata/golden/TestParityCursor/full-afk.golden +6 -0
- package/engine/testdata/golden/TestParityCursor/full-hitl.golden +5 -0
- package/engine/testdata/golden/TestParityCursor/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityCursor/red.golden +5 -0
- package/engine/testdata/golden/TestParityCursor/zerogates.golden +5 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=doubted.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=ghost.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=inline.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing-inline.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=missing.golden +3 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nodoubt.golden +4 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nolog.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage/arg=nowright.golden +2 -0
- package/engine/testdata/golden/TestParityDoubtCoverage.golden +1 -0
- package/engine/testdata/golden/TestParityLearnings/add.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/list.golden +5 -0
- package/engine/testdata/golden/TestParityLearnings/mine-no-archive.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/mine.golden +5 -0
- package/engine/testdata/golden/TestParityLearnings/nudge.golden +2 -0
- package/engine/testdata/golden/TestParityLearnings/unknown.golden +1 -0
- package/engine/testdata/golden/TestParityMutationGate/active-slug.golden +3 -0
- package/engine/testdata/golden/TestParityMutationGate/explicit-slug.golden +3 -0
- package/engine/testdata/golden/TestParityMutationGate/ghost.golden +1 -0
- package/engine/testdata/golden/TestParityOrientSilentPath.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/declared.golden +2 -0
- package/engine/testdata/golden/TestParityPackageExistence/default-import-subpath.golden +2 -0
- package/engine/testdata/golden/TestParityPackageExistence/ghost-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/no-manifest.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityPackageExistence/undeclared.golden +1 -0
- package/engine/testdata/golden/TestParityPreamble/afk/a.golden +14 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/active.golden +18 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/bare.golden +10 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/full.golden +18 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/ghost.golden +2 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/nonl.golden +11 -0
- package/engine/testdata/golden/TestParityPreamble/hitl/openend.golden +13 -0
- package/engine/testdata/golden/TestParityProgress/arg=allbuilt.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=done.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=ghost.golden +1 -0
- package/engine/testdata/golden/TestParityProgress/arg=mid.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=nophase.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=noslice.golden +3 -0
- package/engine/testdata/golden/TestParityProgress/arg=plan.golden +4 -0
- package/engine/testdata/golden/TestParityProgress/arg=seal.golden +3 -0
- package/engine/testdata/golden/TestParityReconcile/bad-mode.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-clean/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-clean.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-base.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-claimed/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-no-claimed.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/check-violation/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/check-violation.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/inline-fallback/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/inline-fallback.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityReconcile/snapshot/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityReconcile/snapshot.golden +2 -0
- package/engine/testdata/golden/TestParityRedwatch/fail-writes-red.golden +2 -0
- package/engine/testdata/golden/TestParityRedwatch/non-bash-tool.golden +1 -0
- package/engine/testdata/golden/TestParityRedwatch/non-test-command.golden +1 -0
- package/engine/testdata/golden/TestParityRedwatch/pass-clears-red.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/answer/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/answer/state.md.golden +6 -0
- package/engine/testdata/golden/TestParityResolve/answer.golden +4 -0
- package/engine/testdata/golden/TestParityResolve/batch/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/batch-unterminated/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/batch-unterminated.golden +2 -0
- package/engine/testdata/golden/TestParityResolve/batch.golden +3 -0
- package/engine/testdata/golden/TestParityResolve/drop/questions.md.golden +9 -0
- package/engine/testdata/golden/TestParityResolve/drop/state.md.golden +8 -0
- package/engine/testdata/golden/TestParityResolve/drop.golden +4 -0
- package/engine/testdata/golden/TestParityResolve/missing-answer.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/next-qid.golden +2 -0
- package/engine/testdata/golden/TestParityResolve/no-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/not-found.golden +1 -0
- package/engine/testdata/golden/TestParityResolve/not-open.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-devrites-agent-denies.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-non-devrites-allows.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/agent-required-subagent-type-only-allows.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-git-commit.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/enforce-deny-mutating.golden +2 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/non-bash-tool.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/non-tool-input.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/observe-mutating-silent.golden +1 -0
- package/engine/testdata/golden/TestParityReviewerReadonly/safe-bash-command.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=dup.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=empty.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=flat.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=nonexistent.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=noscenario.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=noshall.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=nothen.golden +1 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid/spec.md.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate/arg=valid.golden +2 -0
- package/engine/testdata/golden/TestParitySpecValidate.golden +1 -0
- package/engine/testdata/golden/TestParityStatusline/full-afk.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/full-hitl.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/no-active.golden +1 -0
- package/engine/testdata/golden/TestParityStatusline/nophase.golden +2 -0
- package/engine/testdata/golden/TestParityStatusline/red.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/bad-cmd.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/custom-window-2.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/dominant.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/few.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/ghost.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/identical.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/no-cmd.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/no-slug.golden +1 -0
- package/engine/testdata/golden/TestParityStuckCheck/nolog.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/pingpong.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/varied.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-04-identical.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-2.5-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-4x-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-leadspace-varied4.golden +2 -0
- package/engine/testdata/golden/TestParityStuckCheck/window-plus4-identical.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent-subagent-type-key.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/devrites-agent.golden +2 -0
- package/engine/testdata/golden/TestParitySubagentOrient/garbage-input.golden +1 -0
- package/engine/testdata/golden/TestParitySubagentOrient/non-devrites-agent.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/assertion-dropped.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/clean.golden +2 -0
- package/engine/testdata/golden/TestParityTestIntegrity/deleted.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/ghost-workspace.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/not-git.golden +1 -0
- package/engine/testdata/golden/TestParityTestIntegrity/skip-added.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/budget1/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/budget1.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/budget3/state.md.golden +5 -0
- package/engine/testdata/golden/TestParityTickAfk/budget3.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/bulletPipe.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/missingField/state.md.golden +3 -0
- package/engine/testdata/golden/TestParityTickAfk/missingField.golden +2 -0
- package/engine/testdata/golden/TestParityTickAfk/missingFile.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/nonNumeric.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/none/state.md.golden +1 -0
- package/engine/testdata/golden/TestParityTickAfk/none.golden +2 -0
- package/engine/testdata/golden/TestParityWrightScope/agent-required-non-wright.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/devrites-edit-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/in-scope-allowed.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/non-edit-tool.golden +1 -0
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-enforce-denies.golden +2 -0
- package/engine/testdata/golden/TestParityWrightScope/out-of-scope-observe-silent.golden +1 -0
- package/engine/testdata/golden/TestSpecSkeleton/missing-some.golden +2 -0
- package/engine/testdata/golden/TestSpecSkeleton/present-all.golden +2 -0
- package/engine/testdata/golden/TestStatusLiveWorkspace.golden +10 -0
- package/engine/testdata/golden/TestStuckLogHashParity.golden +1 -0
- package/engine/testdata/golden/status/auth-tokens.txt +9 -0
- package/engine/testdata/golden/status/search-ranking.txt +9 -0
- package/engine/tests/adr_0003_gate_exit_code_test.go +32 -0
- package/engine/tests/adr_0004_required_by_phase_test.go +62 -0
- package/engine/tests/adr_0006_clock_seam_test.go +36 -0
- package/engine/tests/budget_test.go +77 -0
- package/engine/tests/canonical_ac_ids_test.go +44 -0
- package/engine/tests/cli_test.go +209 -0
- package/engine/tests/concurrency_cli_test.go +125 -0
- package/engine/tests/conventions_test.go +106 -0
- package/engine/tests/doctor_cli_test.go +62 -0
- package/engine/tests/gate_test.go +235 -0
- package/engine/tests/hook_test.go +390 -0
- package/engine/tests/hooks_io_test.go +218 -0
- package/engine/tests/json_contract_test.go +99 -0
- package/engine/tests/lib_parity_test.go +942 -0
- package/engine/tests/meta_test.go +67 -0
- package/engine/tests/migrate_cli_test.go +193 -0
- package/engine/tests/parity_analyze_test.go +55 -0
- package/engine/tests/parity_buildreadiness_test.go +42 -0
- package/engine/tests/parity_closeout_test.go +102 -0
- package/engine/tests/parity_githelpers_test.go +41 -0
- package/engine/tests/parity_learnings_test.go +90 -0
- package/engine/tests/parity_mutationgate_test.go +36 -0
- package/engine/tests/parity_packageexistence_test.go +64 -0
- package/engine/tests/parity_reconcile_test.go +88 -0
- package/engine/tests/parity_resolve_test.go +144 -0
- package/engine/tests/parity_test.go +380 -0
- package/engine/tests/parity_testintegrity_test.go +65 -0
- package/engine/tests/parity_tickafk_test.go +83 -0
- package/engine/validatepack.go +192 -0
- package/engine/validatepack_test.go +79 -0
- package/engine/validatepackskills.go +181 -0
- package/engine/validatepackskills_test.go +171 -0
- package/install.sh +67 -912
- package/pack/.claude/agents/devrites-code-reviewer.md +20 -3
- package/pack/.claude/agents/devrites-devex-reviewer.md +13 -3
- package/pack/.claude/agents/devrites-doubt-reviewer.md +16 -3
- package/pack/.claude/agents/devrites-forge-judge.md +14 -4
- package/pack/.claude/agents/devrites-frontend-reviewer.md +27 -3
- package/pack/.claude/agents/devrites-performance-reviewer.md +18 -2
- package/pack/.claude/agents/devrites-plan-reviewer.md +13 -3
- package/pack/.claude/agents/devrites-retrospector.md +12 -7
- package/pack/.claude/agents/devrites-security-auditor.md +20 -4
- package/pack/.claude/agents/devrites-simplifier-reviewer.md +17 -2
- package/pack/.claude/agents/devrites-slice-wright.md +32 -16
- package/pack/.claude/agents/devrites-spec-reviewer.md +17 -2
- package/pack/.claude/agents/devrites-strategy-reviewer.md +12 -2
- package/pack/.claude/agents/devrites-test-analyst.md +20 -3
- package/pack/.claude/settings.json +58 -8
- package/pack/.claude/skills/devrites-api-interface/SKILL.md +22 -5
- package/pack/.claude/skills/devrites-audit/SKILL.md +1 -1
- package/pack/.claude/skills/devrites-browser-proof/SKILL.md +26 -53
- package/pack/.claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/.claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/.claude/skills/devrites-debug-recovery/SKILL.md +21 -6
- package/pack/.claude/skills/devrites-debug-recovery/reference/build-the-loop.md +11 -0
- package/pack/.claude/skills/devrites-debug-recovery/reference/regression-test.md +2 -3
- package/pack/.claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/.claude/skills/devrites-doubt/SKILL.md +10 -3
- package/pack/.claude/skills/devrites-frontend-craft/SKILL.md +16 -13
- package/pack/.claude/skills/devrites-frontend-craft/reference/craft.md +15 -3
- package/pack/.claude/skills/devrites-frontend-craft/reference/quality-standards.md +19 -0
- package/pack/.claude/skills/devrites-frontend-craft/reference/reuse-first.md +3 -3
- package/pack/.claude/skills/devrites-interview/SKILL.md +30 -7
- package/pack/.claude/skills/devrites-lib/SKILL.md +35 -36
- package/pack/.claude/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/.claude/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/.claude/skills/devrites-lib/reference/parallel-dispatch.md +104 -20
- package/pack/.claude/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/README.md +14 -6
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/afk-hitl.md +10 -18
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/agents.md +81 -16
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/anti-patterns.md +3 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/context-hygiene.md +17 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/core.md +9 -18
- package/pack/.claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/deprecation.md +21 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/developer-experience.md +3 -3
- package/pack/.claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/documentation.md +9 -1
- package/pack/.claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/observability.md +13 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/performance.md +1 -1
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/principles.md +3 -3
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/prose-style.md +18 -2
- package/pack/.claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/security.md +45 -4
- package/pack/.claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/.claude/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/tooling.md +29 -2
- package/pack/.claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/.claude/skills/devrites-prose-craft/SKILL.md +40 -76
- package/pack/.claude/skills/devrites-prose-craft/reference/examples.md +19 -5
- package/pack/.claude/skills/devrites-refresh-indexes/SKILL.md +3 -6
- package/pack/.claude/skills/devrites-source-driven/SKILL.md +17 -1
- package/pack/.claude/skills/devrites-ux-shape/SKILL.md +20 -7
- package/pack/.claude/skills/devrites-ux-shape/reference/brief-template.md +25 -10
- package/pack/.claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +2 -2
- package/pack/.claude/skills/rite/SKILL.md +67 -42
- package/pack/.claude/skills/rite/reference/menu.md +4 -1
- package/pack/.claude/skills/rite-adopt/SKILL.md +31 -22
- package/pack/.claude/skills/rite-adopt/reference/adoption.md +6 -9
- package/pack/.claude/skills/rite-adopt/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-autocomplete/SKILL.md +25 -25
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +2 -2
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +1 -1
- package/pack/.claude/skills/rite-build/SKILL.md +24 -256
- package/pack/.claude/skills/rite-build/reference/afk-discipline.md +3 -3
- package/pack/.claude/skills/rite-build/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-build/reference/checkpoint-protocol.md +1 -1
- package/pack/.claude/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/.claude/skills/rite-build/reference/evidence-standard.md +10 -7
- package/pack/.claude/skills/rite-build/reference/forge.md +17 -7
- package/pack/.claude/skills/rite-build/reference/one-slice-cycle.md +2 -0
- package/pack/.claude/skills/rite-build/reference/output.md +41 -0
- package/pack/.claude/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/.claude/skills/rite-build/reference/wright-dispatch.md +11 -10
- package/pack/.claude/skills/rite-converge/SKILL.md +131 -0
- package/pack/.claude/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/.claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/.claude/skills/rite-customize/SKILL.md +67 -0
- package/pack/.claude/skills/rite-define/SKILL.md +82 -93
- package/pack/.claude/skills/rite-define/reference/anti-patterns.md +2 -1
- package/pack/.claude/skills/rite-define/reference/gates.md +3 -3
- package/pack/.claude/skills/rite-define/reference/plan-template.md +35 -6
- package/pack/.claude/skills/rite-doctor/SKILL.md +41 -16
- package/pack/.claude/skills/rite-dogfood/SKILL.md +49 -0
- package/pack/.claude/skills/rite-explain/SKILL.md +148 -0
- package/pack/.claude/skills/rite-explain/reference/intake.md +79 -0
- package/pack/.claude/skills/rite-frame/SKILL.md +14 -15
- package/pack/.claude/skills/rite-frame/reference/failure-modes.md +1 -1
- package/pack/.claude/skills/rite-handoff/SKILL.md +19 -17
- package/pack/.claude/skills/rite-handoff/reference/handoff-template.md +16 -6
- package/pack/.claude/skills/rite-learn/SKILL.md +46 -24
- package/pack/.claude/skills/rite-plan/SKILL.md +35 -26
- package/pack/.claude/skills/rite-plan/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-plan/reference/dependency-graph.md +3 -3
- package/pack/.claude/skills/rite-plan/reference/slicing.md +20 -7
- package/pack/.claude/skills/rite-plan/reference/task-breakdown.md +15 -16
- package/pack/.claude/skills/rite-polish/SKILL.md +18 -23
- package/pack/.claude/skills/rite-polish/reference/anti-ai-slop.md +31 -2
- package/pack/.claude/skills/rite-polish/reference/anti-patterns.md +4 -1
- package/pack/.claude/skills/rite-polish/reference/code.md +16 -5
- package/pack/.claude/skills/rite-polish/reference/design-system-discovery.md +5 -32
- package/pack/.claude/skills/rite-pov/SKILL.md +46 -0
- package/pack/.claude/skills/rite-pr-feedback/SKILL.md +49 -0
- package/pack/.claude/skills/rite-pressure-test/SKILL.md +40 -10
- package/pack/.claude/skills/rite-prototype/SKILL.md +23 -2
- package/pack/.claude/skills/rite-prove/SKILL.md +41 -96
- package/pack/.claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/.claude/skills/rite-prove/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-prove/reference/browser-proof.md +36 -13
- package/pack/.claude/skills/rite-quick/SKILL.md +19 -12
- package/pack/.claude/skills/rite-resolve/SKILL.md +21 -25
- package/pack/.claude/skills/rite-resolve/reference/answer-protocol.md +2 -2
- package/pack/.claude/skills/rite-review/SKILL.md +43 -45
- package/pack/.claude/skills/rite-review/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-review/reference/performance-checklist.md +1 -1
- package/pack/.claude/skills/rite-review/reference/performance-review.md +4 -22
- package/pack/.claude/skills/rite-review/reference/security-review.md +2 -2
- package/pack/.claude/skills/rite-seal/SKILL.md +40 -174
- package/pack/.claude/skills/rite-seal/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-seal/reference/conventions-ledger.md +6 -9
- package/pack/.claude/skills/rite-seal/reference/final-evidence.md +6 -14
- package/pack/.claude/skills/rite-seal/reference/go-no-go.md +3 -3
- package/pack/.claude/skills/rite-seal/reference/output.md +7 -0
- package/pack/.claude/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/.claude/skills/rite-seal/reference/seal-template.md +1 -1
- package/pack/.claude/skills/rite-ship/SKILL.md +45 -75
- package/pack/.claude/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/.claude/skills/rite-ship/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-ship/reference/close-out.md +12 -1
- package/pack/.claude/skills/rite-ship/reference/design-memory.md +2 -2
- package/pack/.claude/skills/rite-ship/reference/git-ship.md +32 -1
- package/pack/.claude/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/.claude/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/.claude/skills/rite-spec/SKILL.md +110 -60
- package/pack/.claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/.claude/skills/rite-spec/reference/anti-patterns.md +4 -1
- package/pack/.claude/skills/rite-spec/reference/investigation.md +34 -14
- package/pack/.claude/skills/rite-spec/reference/question-protocol.md +7 -37
- package/pack/.claude/skills/rite-spec/reference/references-intake.md +23 -18
- package/pack/.claude/skills/rite-spec/reference/spec-template.md +94 -118
- package/pack/.claude/skills/rite-spec/reference/state-workspace.md +128 -139
- package/pack/.claude/skills/rite-status/SKILL.md +26 -22
- package/pack/.claude/skills/rite-temper/SKILL.md +34 -27
- package/pack/.claude/skills/rite-temper/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-temper/reference/scope-modes.md +1 -1
- package/pack/.claude/skills/rite-temper/reference/significance.md +1 -1
- package/pack/.claude/skills/rite-vet/SKILL.md +64 -71
- package/pack/.claude/skills/rite-vet/reference/anti-patterns.md +1 -1
- package/pack/.claude/skills/rite-vet/reference/cross-model.md +7 -5
- package/pack/.claude/skills/rite-vet/reference/depth.md +1 -1
- package/pack/.claude/skills/rite-vet/reference/review-axes.md +3 -3
- package/pack/.claude/skills/rite-zoom-out/SKILL.md +16 -17
- package/pack/generated/README.md +10 -0
- package/pack/generated/claude/agents/devrites-code-reviewer.md +103 -0
- package/pack/generated/claude/agents/devrites-devex-reviewer.md +104 -0
- package/pack/generated/claude/agents/devrites-doubt-reviewer.md +68 -0
- package/pack/generated/claude/agents/devrites-forge-judge.md +102 -0
- package/pack/generated/claude/agents/devrites-frontend-reviewer.md +84 -0
- package/pack/generated/claude/agents/devrites-performance-reviewer.md +111 -0
- package/pack/generated/claude/agents/devrites-plan-reviewer.md +89 -0
- package/pack/generated/claude/agents/devrites-retrospector.md +96 -0
- package/pack/generated/claude/agents/devrites-security-auditor.md +85 -0
- package/pack/generated/claude/agents/devrites-simplifier-reviewer.md +90 -0
- package/pack/generated/claude/agents/devrites-slice-wright.md +210 -0
- package/pack/generated/claude/agents/devrites-spec-reviewer.md +87 -0
- package/pack/generated/claude/agents/devrites-strategy-reviewer.md +72 -0
- package/pack/generated/claude/agents/devrites-test-analyst.md +64 -0
- package/pack/generated/claude/settings.json +103 -0
- package/pack/generated/claude/skills/devrites-api-interface/SKILL.md +61 -0
- package/pack/generated/claude/skills/devrites-audit/SKILL.md +73 -0
- package/pack/generated/claude/skills/devrites-browser-proof/SKILL.md +76 -0
- package/pack/generated/claude/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/claude/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/SKILL.md +65 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/claude/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/claude/skills/devrites-doubt/SKILL.md +82 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/SKILL.md +99 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/craft.md +71 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
- package/pack/generated/claude/skills/devrites-frontend-craft/reference/shape.md +60 -0
- package/pack/generated/claude/skills/devrites-interview/SKILL.md +104 -0
- package/pack/generated/claude/skills/devrites-lib/SKILL.md +82 -0
- package/pack/generated/claude/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/generated/claude/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/generated/claude/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
- package/pack/generated/claude/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/README.md +61 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/agents.md +192 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/coding-style.md +55 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/core.md +119 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/deprecation.md +71 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/documentation.md +35 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/error-handling.md +33 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/hooks.md +38 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/observability.md +73 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/patterns.md +48 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/performance.md +36 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/principles.md +158 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/prose-style.md +117 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/security.md +135 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/generated/claude/skills/devrites-lib/reference/standards/tooling.md +99 -0
- package/pack/generated/claude/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/generated/claude/skills/devrites-prose-craft/SKILL.md +69 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/examples.md +102 -0
- package/pack/generated/claude/skills/devrites-prose-craft/reference/structures.md +134 -0
- package/pack/generated/claude/skills/devrites-refresh-indexes/SKILL.md +51 -0
- package/pack/generated/claude/skills/devrites-source-driven/SKILL.md +52 -0
- package/pack/generated/claude/skills/devrites-ux-shape/SKILL.md +134 -0
- package/pack/generated/claude/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/claude/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/claude/skills/rite/SKILL.md +142 -0
- package/pack/generated/claude/skills/rite/reference/menu.md +42 -0
- package/pack/generated/claude/skills/rite-adopt/SKILL.md +104 -0
- package/pack/generated/claude/skills/rite-adopt/reference/adoption.md +55 -0
- package/pack/generated/claude/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/claude/skills/rite-autocomplete/SKILL.md +98 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/decision-policy.md +35 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +54 -0
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
- package/pack/generated/claude/skills/rite-build/SKILL.md +84 -0
- package/pack/generated/claude/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/claude/skills/rite-build/reference/anti-patterns.md +37 -0
- package/pack/generated/claude/skills/rite-build/reference/checkpoint-protocol.md +149 -0
- package/pack/generated/claude/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/claude/skills/rite-build/reference/evidence-standard.md +35 -0
- package/pack/generated/claude/skills/rite-build/reference/forge.md +181 -0
- package/pack/generated/claude/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/claude/skills/rite-build/reference/one-slice-cycle.md +42 -0
- package/pack/generated/claude/skills/rite-build/reference/output.md +41 -0
- package/pack/generated/claude/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/generated/claude/skills/rite-build/reference/spec-drift-guard.md +43 -0
- package/pack/generated/claude/skills/rite-build/reference/tdd.md +26 -0
- package/pack/generated/claude/skills/rite-build/reference/wright-dispatch.md +140 -0
- package/pack/generated/claude/skills/rite-converge/SKILL.md +131 -0
- package/pack/generated/claude/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/claude/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/generated/claude/skills/rite-customize/SKILL.md +67 -0
- package/pack/generated/claude/skills/rite-define/SKILL.md +159 -0
- package/pack/generated/claude/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/claude/skills/rite-define/reference/gates.md +152 -0
- package/pack/generated/claude/skills/rite-define/reference/plan-template.md +94 -0
- package/pack/generated/claude/skills/rite-doctor/SKILL.md +76 -0
- package/pack/generated/claude/skills/rite-dogfood/SKILL.md +49 -0
- package/pack/generated/claude/skills/rite-explain/SKILL.md +148 -0
- package/pack/generated/claude/skills/rite-explain/reference/intake.md +79 -0
- package/pack/generated/claude/skills/rite-frame/SKILL.md +120 -0
- package/pack/generated/claude/skills/rite-frame/reference/failure-modes.md +68 -0
- package/pack/generated/claude/skills/rite-handoff/SKILL.md +97 -0
- package/pack/generated/claude/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/claude/skills/rite-learn/SKILL.md +117 -0
- package/pack/generated/claude/skills/rite-plan/SKILL.md +95 -0
- package/pack/generated/claude/skills/rite-plan/reference/anti-patterns.md +24 -0
- package/pack/generated/claude/skills/rite-plan/reference/dependency-graph.md +33 -0
- package/pack/generated/claude/skills/rite-plan/reference/replan-and-repair.md +42 -0
- package/pack/generated/claude/skills/rite-plan/reference/slicing.md +65 -0
- package/pack/generated/claude/skills/rite-plan/reference/task-breakdown.md +33 -0
- package/pack/generated/claude/skills/rite-polish/SKILL.md +87 -0
- package/pack/generated/claude/skills/rite-polish/reference/anti-ai-slop.md +206 -0
- package/pack/generated/claude/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/claude/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/claude/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
- package/pack/generated/claude/skills/rite-polish/reference/code.md +100 -0
- package/pack/generated/claude/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/claude/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/claude/skills/rite-polish/reference/ui.md +136 -0
- package/pack/generated/claude/skills/rite-pov/SKILL.md +46 -0
- package/pack/generated/claude/skills/rite-pr-feedback/SKILL.md +49 -0
- package/pack/generated/claude/skills/rite-pressure-test/SKILL.md +74 -0
- package/pack/generated/claude/skills/rite-prototype/SKILL.md +110 -0
- package/pack/generated/claude/skills/rite-prove/SKILL.md +104 -0
- package/pack/generated/claude/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/generated/claude/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/claude/skills/rite-prove/reference/browser-proof.md +49 -0
- package/pack/generated/claude/skills/rite-prove/reference/failure-triage.md +25 -0
- package/pack/generated/claude/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/claude/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/claude/skills/rite-quick/SKILL.md +93 -0
- package/pack/generated/claude/skills/rite-resolve/SKILL.md +109 -0
- package/pack/generated/claude/skills/rite-resolve/reference/answer-protocol.md +115 -0
- package/pack/generated/claude/skills/rite-review/SKILL.md +171 -0
- package/pack/generated/claude/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/claude/skills/rite-review/reference/cognitive-load.md +92 -0
- package/pack/generated/claude/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/claude/skills/rite-review/reference/five-axis-review.md +60 -0
- package/pack/generated/claude/skills/rite-review/reference/nielsen-heuristics.md +130 -0
- package/pack/generated/claude/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/claude/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/claude/skills/rite-review/reference/security-review.md +37 -0
- package/pack/generated/claude/skills/rite-seal/SKILL.md +101 -0
- package/pack/generated/claude/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-seal/reference/conventions-ledger.md +60 -0
- package/pack/generated/claude/skills/rite-seal/reference/final-evidence.md +64 -0
- package/pack/generated/claude/skills/rite-seal/reference/go-no-go.md +53 -0
- package/pack/generated/claude/skills/rite-seal/reference/output.md +7 -0
- package/pack/generated/claude/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/generated/claude/skills/rite-seal/reference/risk-and-rollback.md +30 -0
- package/pack/generated/claude/skills/rite-seal/reference/seal-template.md +36 -0
- package/pack/generated/claude/skills/rite-ship/SKILL.md +111 -0
- package/pack/generated/claude/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/generated/claude/skills/rite-ship/reference/anti-patterns.md +25 -0
- package/pack/generated/claude/skills/rite-ship/reference/close-out.md +42 -0
- package/pack/generated/claude/skills/rite-ship/reference/design-memory.md +120 -0
- package/pack/generated/claude/skills/rite-ship/reference/git-ship.md +73 -0
- package/pack/generated/claude/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/generated/claude/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/generated/claude/skills/rite-ship/reference/ship-template.md +33 -0
- package/pack/generated/claude/skills/rite-spec/SKILL.md +219 -0
- package/pack/generated/claude/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/claude/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/generated/claude/skills/rite-spec/reference/anti-patterns.md +28 -0
- package/pack/generated/claude/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/claude/skills/rite-spec/reference/investigation.md +84 -0
- package/pack/generated/claude/skills/rite-spec/reference/question-protocol.md +31 -0
- package/pack/generated/claude/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/claude/skills/rite-spec/reference/spec-checklists.md +73 -0
- package/pack/generated/claude/skills/rite-spec/reference/spec-template.md +110 -0
- package/pack/generated/claude/skills/rite-spec/reference/state-workspace.md +156 -0
- package/pack/generated/claude/skills/rite-status/SKILL.md +107 -0
- package/pack/generated/claude/skills/rite-temper/SKILL.md +126 -0
- package/pack/generated/claude/skills/rite-temper/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-temper/reference/review-dimensions.md +65 -0
- package/pack/generated/claude/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/claude/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/claude/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/claude/skills/rite-vet/SKILL.md +180 -0
- package/pack/generated/claude/skills/rite-vet/reference/anti-patterns.md +29 -0
- package/pack/generated/claude/skills/rite-vet/reference/artifacts.md +135 -0
- package/pack/generated/claude/skills/rite-vet/reference/cross-model.md +43 -0
- package/pack/generated/claude/skills/rite-vet/reference/depth.md +53 -0
- package/pack/generated/claude/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/claude/skills/rite-vet/reference/review-axes.md +167 -0
- package/pack/generated/claude/skills/rite-zoom-out/SKILL.md +75 -0
- package/pack/generated/codex/AGENTS.md +23 -0
- package/pack/generated/codex/agents/devrites-code-reviewer.toml +101 -0
- package/pack/generated/codex/agents/devrites-devex-reviewer.toml +102 -0
- package/pack/generated/codex/agents/devrites-doubt-reviewer.toml +66 -0
- package/pack/generated/codex/agents/devrites-forge-judge.toml +100 -0
- package/pack/generated/codex/agents/devrites-frontend-reviewer.toml +80 -0
- package/pack/generated/codex/agents/devrites-performance-reviewer.toml +109 -0
- package/pack/generated/codex/agents/devrites-plan-reviewer.toml +93 -0
- package/pack/generated/codex/agents/devrites-retrospector.toml +94 -0
- package/pack/generated/codex/agents/devrites-security-auditor.toml +83 -0
- package/pack/generated/codex/agents/devrites-simplifier-reviewer.toml +88 -0
- package/pack/generated/codex/agents/devrites-slice-wright.toml +207 -0
- package/pack/generated/codex/agents/devrites-spec-reviewer.toml +85 -0
- package/pack/generated/codex/agents/devrites-strategy-reviewer.toml +76 -0
- package/pack/generated/codex/agents/devrites-test-analyst.toml +62 -0
- package/pack/generated/codex/hooks.json +151 -0
- package/pack/generated/codex/skills/devrites-api-interface/SKILL.md +73 -0
- package/pack/generated/codex/skills/devrites-api-interface/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-audit/SKILL.md +85 -0
- package/pack/generated/codex/skills/devrites-audit/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-browser-proof/SKILL.md +88 -0
- package/pack/generated/codex/skills/devrites-browser-proof/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-browser-proof/reference/browser-performance.md +15 -0
- package/pack/generated/codex/skills/devrites-browser-proof/reference/visual-verdict.md +34 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/SKILL.md +77 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +17 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/hypotheses.md +17 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/regression-test.md +30 -0
- package/pack/generated/codex/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/codex/skills/devrites-doubt/SKILL.md +94 -0
- package/pack/generated/codex/skills/devrites-doubt/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/SKILL.md +111 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/craft.md +71 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/design-references.md +116 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/fullstack.md +45 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/quality-standards.md +234 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/reuse-first.md +59 -0
- package/pack/generated/codex/skills/devrites-frontend-craft/reference/shape.md +60 -0
- package/pack/generated/codex/skills/devrites-interview/SKILL.md +116 -0
- package/pack/generated/codex/skills/devrites-interview/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-lib/SKILL.md +94 -0
- package/pack/generated/codex/skills/devrites-lib/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-lib/reference/intent-map.md +16 -0
- package/pack/generated/codex/skills/devrites-lib/reference/model-tiers.md +43 -0
- package/pack/generated/codex/skills/devrites-lib/reference/parallel-dispatch.md +165 -0
- package/pack/generated/codex/skills/devrites-lib/reference/reply-contract.md +111 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/README.md +61 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/afk-hitl.md +243 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/agents.md +192 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/anti-patterns.md +58 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/browser-proof-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/code-review.md +141 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/coding-style.md +55 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/context-hygiene.md +114 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/core.md +119 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/definition-of-done.md +16 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/deprecation.md +71 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/developer-experience.md +119 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/development-workflow.md +51 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/documentation.md +35 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/edge-case-trace.md +19 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/elicitation.md +80 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/error-handling.md +33 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/git-workflow.md +65 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/hooks.md +38 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/observability.md +73 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/patterns.md +48 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/performance.md +36 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/principles.md +158 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/prose-style.md +117 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/release/ship-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/review-checklist.md +10 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/security.md +135 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/skill-authoring.md +105 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/spec-grammar.md +185 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/test-proof-checklist.md +9 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/testing.md +162 -0
- package/pack/generated/codex/skills/devrites-lib/reference/standards/tooling.md +99 -0
- package/pack/generated/codex/skills/devrites-lib/reference/workspace-artifact-schema.md +110 -0
- package/pack/generated/codex/skills/devrites-prose-craft/SKILL.md +81 -0
- package/pack/generated/codex/skills/devrites-prose-craft/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/banned-phrases.md +95 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/examples.md +102 -0
- package/pack/generated/codex/skills/devrites-prose-craft/reference/structures.md +134 -0
- package/pack/generated/codex/skills/devrites-refresh-indexes/SKILL.md +63 -0
- package/pack/generated/codex/skills/devrites-refresh-indexes/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-source-driven/SKILL.md +64 -0
- package/pack/generated/codex/skills/devrites-source-driven/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-ux-shape/SKILL.md +146 -0
- package/pack/generated/codex/skills/devrites-ux-shape/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/codex/skills/devrites-ux-shape/reference/visual-direction-probe.md +48 -0
- package/pack/generated/codex/skills/rite/SKILL.md +154 -0
- package/pack/generated/codex/skills/rite/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite/reference/menu.md +42 -0
- package/pack/generated/codex/skills/rite-adopt/SKILL.md +116 -0
- package/pack/generated/codex/skills/rite-adopt/reference/adoption.md +55 -0
- package/pack/generated/codex/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/codex/skills/rite-autocomplete/SKILL.md +110 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/decision-policy.md +35 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +54 -0
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +59 -0
- package/pack/generated/codex/skills/rite-build/SKILL.md +96 -0
- package/pack/generated/codex/skills/rite-build/reference/afk-discipline.md +145 -0
- package/pack/generated/codex/skills/rite-build/reference/anti-patterns.md +37 -0
- package/pack/generated/codex/skills/rite-build/reference/checkpoint-protocol.md +149 -0
- package/pack/generated/codex/skills/rite-build/reference/checkpoint.md +44 -0
- package/pack/generated/codex/skills/rite-build/reference/evidence-standard.md +35 -0
- package/pack/generated/codex/skills/rite-build/reference/forge.md +181 -0
- package/pack/generated/codex/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/codex/skills/rite-build/reference/one-slice-cycle.md +42 -0
- package/pack/generated/codex/skills/rite-build/reference/output.md +41 -0
- package/pack/generated/codex/skills/rite-build/reference/phase-contract.md +258 -0
- package/pack/generated/codex/skills/rite-build/reference/spec-drift-guard.md +43 -0
- package/pack/generated/codex/skills/rite-build/reference/tdd.md +26 -0
- package/pack/generated/codex/skills/rite-build/reference/wright-dispatch.md +140 -0
- package/pack/generated/codex/skills/rite-converge/SKILL.md +143 -0
- package/pack/generated/codex/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/codex/skills/rite-converge/reference/convergence-assessment.md +61 -0
- package/pack/generated/codex/skills/rite-customize/SKILL.md +79 -0
- package/pack/generated/codex/skills/rite-customize/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-define/SKILL.md +171 -0
- package/pack/generated/codex/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/codex/skills/rite-define/reference/gates.md +152 -0
- package/pack/generated/codex/skills/rite-define/reference/plan-template.md +94 -0
- package/pack/generated/codex/skills/rite-doctor/SKILL.md +88 -0
- package/pack/generated/codex/skills/rite-dogfood/SKILL.md +61 -0
- package/pack/generated/codex/skills/rite-dogfood/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-explain/SKILL.md +160 -0
- package/pack/generated/codex/skills/rite-explain/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-explain/reference/intake.md +79 -0
- package/pack/generated/codex/skills/rite-frame/SKILL.md +132 -0
- package/pack/generated/codex/skills/rite-frame/reference/failure-modes.md +68 -0
- package/pack/generated/codex/skills/rite-handoff/SKILL.md +109 -0
- package/pack/generated/codex/skills/rite-handoff/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-handoff/reference/handoff-template.md +44 -0
- package/pack/generated/codex/skills/rite-learn/SKILL.md +129 -0
- package/pack/generated/codex/skills/rite-learn/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-plan/SKILL.md +107 -0
- package/pack/generated/codex/skills/rite-plan/reference/anti-patterns.md +24 -0
- package/pack/generated/codex/skills/rite-plan/reference/dependency-graph.md +33 -0
- package/pack/generated/codex/skills/rite-plan/reference/replan-and-repair.md +42 -0
- package/pack/generated/codex/skills/rite-plan/reference/slicing.md +65 -0
- package/pack/generated/codex/skills/rite-plan/reference/task-breakdown.md +33 -0
- package/pack/generated/codex/skills/rite-polish/SKILL.md +99 -0
- package/pack/generated/codex/skills/rite-polish/reference/anti-ai-slop.md +206 -0
- package/pack/generated/codex/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/codex/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/codex/skills/rite-polish/reference/browser-polish-evidence.md +31 -0
- package/pack/generated/codex/skills/rite-polish/reference/code.md +100 -0
- package/pack/generated/codex/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/codex/skills/rite-polish/reference/harden-checklist.md +109 -0
- package/pack/generated/codex/skills/rite-polish/reference/ui.md +136 -0
- package/pack/generated/codex/skills/rite-pov/SKILL.md +58 -0
- package/pack/generated/codex/skills/rite-pr-feedback/SKILL.md +61 -0
- package/pack/generated/codex/skills/rite-pr-feedback/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-pressure-test/SKILL.md +86 -0
- package/pack/generated/codex/skills/rite-prototype/SKILL.md +122 -0
- package/pack/generated/codex/skills/rite-prototype/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-prove/SKILL.md +116 -0
- package/pack/generated/codex/skills/rite-prove/reference/acceptance-proof.md +48 -0
- package/pack/generated/codex/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/codex/skills/rite-prove/reference/browser-proof.md +49 -0
- package/pack/generated/codex/skills/rite-prove/reference/failure-triage.md +25 -0
- package/pack/generated/codex/skills/rite-prove/reference/proof-ladder.md +28 -0
- package/pack/generated/codex/skills/rite-prove/reference/test-command-discovery.md +30 -0
- package/pack/generated/codex/skills/rite-quick/SKILL.md +105 -0
- package/pack/generated/codex/skills/rite-resolve/SKILL.md +121 -0
- package/pack/generated/codex/skills/rite-resolve/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-resolve/reference/answer-protocol.md +115 -0
- package/pack/generated/codex/skills/rite-review/SKILL.md +183 -0
- package/pack/generated/codex/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/codex/skills/rite-review/reference/cognitive-load.md +92 -0
- package/pack/generated/codex/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/codex/skills/rite-review/reference/five-axis-review.md +60 -0
- package/pack/generated/codex/skills/rite-review/reference/nielsen-heuristics.md +130 -0
- package/pack/generated/codex/skills/rite-review/reference/performance-checklist.md +80 -0
- package/pack/generated/codex/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/codex/skills/rite-review/reference/security-review.md +37 -0
- package/pack/generated/codex/skills/rite-seal/SKILL.md +113 -0
- package/pack/generated/codex/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-seal/reference/conventions-ledger.md +60 -0
- package/pack/generated/codex/skills/rite-seal/reference/final-evidence.md +64 -0
- package/pack/generated/codex/skills/rite-seal/reference/go-no-go.md +53 -0
- package/pack/generated/codex/skills/rite-seal/reference/output.md +7 -0
- package/pack/generated/codex/skills/rite-seal/reference/phase-contract.md +211 -0
- package/pack/generated/codex/skills/rite-seal/reference/risk-and-rollback.md +30 -0
- package/pack/generated/codex/skills/rite-seal/reference/seal-template.md +36 -0
- package/pack/generated/codex/skills/rite-ship/SKILL.md +123 -0
- package/pack/generated/codex/skills/rite-ship/reference/adr-promotion.md +9 -0
- package/pack/generated/codex/skills/rite-ship/reference/anti-patterns.md +25 -0
- package/pack/generated/codex/skills/rite-ship/reference/close-out.md +42 -0
- package/pack/generated/codex/skills/rite-ship/reference/design-memory.md +120 -0
- package/pack/generated/codex/skills/rite-ship/reference/git-ship.md +73 -0
- package/pack/generated/codex/skills/rite-ship/reference/ledger.md +56 -0
- package/pack/generated/codex/skills/rite-ship/reference/rollout.md +43 -0
- package/pack/generated/codex/skills/rite-ship/reference/ship-template.md +33 -0
- package/pack/generated/codex/skills/rite-spec/SKILL.md +231 -0
- package/pack/generated/codex/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/codex/skills/rite-spec/reference/ai-spec-template.md +33 -0
- package/pack/generated/codex/skills/rite-spec/reference/anti-patterns.md +28 -0
- package/pack/generated/codex/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/codex/skills/rite-spec/reference/investigation.md +84 -0
- package/pack/generated/codex/skills/rite-spec/reference/question-protocol.md +31 -0
- package/pack/generated/codex/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/codex/skills/rite-spec/reference/spec-checklists.md +73 -0
- package/pack/generated/codex/skills/rite-spec/reference/spec-template.md +110 -0
- package/pack/generated/codex/skills/rite-spec/reference/state-workspace.md +156 -0
- package/pack/generated/codex/skills/rite-status/SKILL.md +119 -0
- package/pack/generated/codex/skills/rite-status/agents/openai.yaml +2 -0
- package/pack/generated/codex/skills/rite-temper/SKILL.md +138 -0
- package/pack/generated/codex/skills/rite-temper/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-temper/reference/review-dimensions.md +65 -0
- package/pack/generated/codex/skills/rite-temper/reference/scope-modes.md +53 -0
- package/pack/generated/codex/skills/rite-temper/reference/significance.md +46 -0
- package/pack/generated/codex/skills/rite-temper/reference/strategy-template.md +90 -0
- package/pack/generated/codex/skills/rite-vet/SKILL.md +192 -0
- package/pack/generated/codex/skills/rite-vet/reference/anti-patterns.md +29 -0
- package/pack/generated/codex/skills/rite-vet/reference/artifacts.md +135 -0
- package/pack/generated/codex/skills/rite-vet/reference/cross-model.md +43 -0
- package/pack/generated/codex/skills/rite-vet/reference/depth.md +53 -0
- package/pack/generated/codex/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/codex/skills/rite-vet/reference/review-axes.md +167 -0
- package/pack/generated/codex/skills/rite-zoom-out/SKILL.md +87 -0
- package/pack/generated/codex/skills/rite-zoom-out/agents/openai.yaml +2 -0
- package/package.json +8 -4
- package/scripts/build-binaries.sh +75 -0
- package/scripts/build-host-artifacts.sh +100 -0
- package/scripts/build-release-tarball.sh +16 -2
- package/scripts/check-cross-refs.py +17 -3
- package/scripts/check-generated-skill-budget.mjs +41 -0
- package/scripts/check-instruction-size-baseline.mjs +79 -0
- package/scripts/check-invocation-integrity.py +113 -0
- package/scripts/check-no-global-writes.sh +22 -0
- package/scripts/check-no-personal-paths.py +50 -0
- package/scripts/check-reference-governance.mjs +82 -0
- package/scripts/check-reply-contract.sh +64 -0
- package/scripts/check-rule-uniqueness.sh +4 -32
- package/scripts/codex-generate.sh +300 -0
- package/scripts/devrites-detect.sh +2 -1
- package/scripts/eval-runner.py +4 -2
- package/scripts/eval-scorer.mjs +46 -0
- package/scripts/grade-feature.sh +24 -7
- package/scripts/install-lib.sh +112 -19
- package/scripts/pin.sh +4 -4
- package/scripts/release-check.sh +71 -0
- package/scripts/run-behavioral-evals.sh +34 -2
- package/scripts/run-evals.sh +45 -30
- package/scripts/run-live-behavioral-evals.py +180 -0
- package/scripts/run-outcome-evals.sh +27 -0
- package/scripts/run-routing-evals.py +342 -0
- package/scripts/run-tests.mjs +203 -0
- package/scripts/skill-pruning-audit.mjs +120 -0
- package/scripts/skills-inventory.mjs +107 -0
- package/scripts/validate-agent-composition.py +57 -0
- package/scripts/validate-command-parity.py +70 -0
- package/scripts/validate-frontmatter.py +43 -7
- package/scripts/validate-skill-anatomy.py +139 -0
- package/scripts/validate-workflow-security.py +22 -3
- package/scripts/validate-workspace-schema.py +512 -0
- package/scripts/validate.sh +174 -34
- package/uninstall.sh +22 -183
- package/update.sh +29 -185
- package/docs/cli-mcp.md +0 -62
- package/mcp/devrites-mcp.mjs +0 -105
- package/pack/.claude/hooks/devrites-a1-guard.sh +0 -99
- package/pack/.claude/hooks/devrites-allow.sh +0 -44
- package/pack/.claude/hooks/devrites-cursor.sh +0 -28
- package/pack/.claude/hooks/devrites-orient.sh +0 -53
- package/pack/.claude/hooks/devrites-redwatch.sh +0 -39
- package/pack/.claude/hooks/devrites-refresh-indexes.sh +0 -127
- package/pack/.claude/hooks/devrites-reviewer-readonly.sh +0 -37
- package/pack/.claude/hooks/devrites-statusline.sh +0 -18
- package/pack/.claude/hooks/devrites-stop-gate.sh +0 -45
- package/pack/.claude/hooks/devrites-wright-scope.sh +0 -64
- package/pack/.claude/hooks/hooks.json +0 -52
- package/pack/.claude/rules/code-review.md +0 -48
- package/pack/.claude/rules/development-workflow.md +0 -40
- package/pack/.claude/rules/git-workflow.md +0 -35
- package/pack/.claude/rules/spec-grammar.md +0 -106
- package/pack/.claude/rules/testing.md +0 -88
- package/pack/.claude/skills/devrites-lib/scripts/analyze.sh +0 -78
- package/pack/.claude/skills/devrites-lib/scripts/check-acceptance.sh +0 -75
- package/pack/.claude/skills/devrites-lib/scripts/close-out.sh +0 -47
- package/pack/.claude/skills/devrites-lib/scripts/conventions.py +0 -273
- package/pack/.claude/skills/devrites-lib/scripts/coverage.sh +0 -51
- package/pack/.claude/skills/devrites-lib/scripts/devrites.sh +0 -77
- package/pack/.claude/skills/devrites-lib/scripts/doctor.sh +0 -156
- package/pack/.claude/skills/devrites-lib/scripts/doubt-coverage.sh +0 -59
- package/pack/.claude/skills/devrites-lib/scripts/evidence-fresh.sh +0 -63
- package/pack/.claude/skills/devrites-lib/scripts/footprint.sh +0 -45
- package/pack/.claude/skills/devrites-lib/scripts/learnings.sh +0 -74
- package/pack/.claude/skills/devrites-lib/scripts/mutation-gate.sh +0 -52
- package/pack/.claude/skills/devrites-lib/scripts/package-existence.sh +0 -68
- package/pack/.claude/skills/devrites-lib/scripts/preamble.sh +0 -76
- package/pack/.claude/skills/devrites-lib/scripts/progress.sh +0 -103
- package/pack/.claude/skills/devrites-lib/scripts/readiness.sh +0 -62
- package/pack/.claude/skills/devrites-lib/scripts/reconcile.sh +0 -123
- package/pack/.claude/skills/devrites-lib/scripts/resolve.sh +0 -279
- package/pack/.claude/skills/devrites-lib/scripts/rites.sh +0 -41
- package/pack/.claude/skills/devrites-lib/scripts/spec-validate.sh +0 -130
- package/pack/.claude/skills/devrites-lib/scripts/stuck.sh +0 -67
- package/pack/.claude/skills/devrites-lib/scripts/test-integrity.sh +0 -87
- package/pack/.claude/skills/devrites-lib/scripts/tick-afk.sh +0 -52
- package/scripts/merge-codex-hooks.mjs +0 -78
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/coding-style.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/error-handling.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/hooks.md +0 -0
- /package/pack/.claude/{rules → skills/devrites-lib/reference/standards}/patterns.md +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Workspace artifact schema
|
|
2
|
+
|
|
3
|
+
DevRites stores feature truth in `.devrites/work/<slug>/`. The older
|
|
4
|
+
`.devrites/features/<slug>/` path remains readable during migration; do not delete
|
|
5
|
+
existing workspaces or aliases. `feature.md` and `index.md` may stand in for the
|
|
6
|
+
workspace map; `proof.md` may stand in for `evidence.md`.
|
|
7
|
+
|
|
8
|
+
## Required by phase
|
|
9
|
+
|
|
10
|
+
| Phase | Required artifacts |
|
|
11
|
+
| --- | --- |
|
|
12
|
+
| spec | `README.md`/`index.md`/`feature.md`, `brief.md`, `spec.md`, `state.md`, `decisions.md`, `assumptions.md`, `questions.md` |
|
|
13
|
+
| define/plan/vet/build | spec artifacts plus `architecture.md`, `plan.md`, `tasks.md`, `traceability.md` |
|
|
14
|
+
| prove/polish/review/seal/ship | plan artifacts plus `evidence.md`/`proof.md`, `touched-files.md` |
|
|
15
|
+
| conditional | `flows.md` when diagrams clarify; `design-brief.md` and `browser-evidence.md` for UI; `drift.md` for drift; `handoff.md` only when requested; `references.md` + `references/` when references exist |
|
|
16
|
+
|
|
17
|
+
## What each file owns
|
|
18
|
+
|
|
19
|
+
| File | Job | Budget |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| `README.md` / `index.md` / `feature.md` | compact workspace map: phase, status, next action, artifact map, read-next table, blocking gates, last updated | 120 lines |
|
|
22
|
+
| `brief.md` | user request, objective, non-goals, success definition | 80 lines |
|
|
23
|
+
| `spec.md` | product WHAT/WHY, requirements, acceptance criteria, edge cases, measurable success, scope boundaries | 260 lines |
|
|
24
|
+
| `architecture.md` | owning layer, integration points, data/API/events, dependencies, risks, affected boundaries | 180 lines |
|
|
25
|
+
| `flows.md` | useful Mermaid sequence/state/data/lifecycle diagrams with why-it-matters text and related IDs | 160 lines |
|
|
26
|
+
| `decisions.md` | ADR-style `DEC-###` log: status, context, options, decision, consequences, related IDs | 200 lines |
|
|
27
|
+
| `assumptions.md` | assumptions with confidence, owner, validation status | 160 lines |
|
|
28
|
+
| `questions.md` | `Q-###` open/resolved questions, gate, answer, impact | 180 lines |
|
|
29
|
+
| `plan.md` | technical approach, slice strategy, validation strategy, rollback | 220 lines |
|
|
30
|
+
| `tasks.md` | `SLICE-###` vertical slices with AC IDs, likely files, tests/proof, mode/gate, dependencies, done condition | 280 lines |
|
|
31
|
+
| `traceability.md` | matrix: AC/REQ ID, slice IDs, test/proof, evidence ID, touched files, status | 220 lines |
|
|
32
|
+
| `state.md` | compact cursor table/key-values; no narrative log | 120 lines |
|
|
33
|
+
| `evidence.md` / `proof.md` | `EVID-###` command/action, result, timestamp if available, related AC/slice IDs, limitation | 280 lines |
|
|
34
|
+
| `browser-evidence.md` | UI route/viewports/screenshots/console/network/interactions and Visual Verdict | 220 lines |
|
|
35
|
+
| `drift.md` | `DRIFT-###` spec/plan drift and resolution | 160 lines |
|
|
36
|
+
| `touched-files.md` | implementation files, slice ownership, reason, and a concern-ordered `## Review trail` of `path:line` stops for human review | 180 lines |
|
|
37
|
+
| `design-brief.md` | UI design direction, states, interaction model | 160 lines |
|
|
38
|
+
| `handoff.md` | cold-resume guide: current objective, last completed slice, next action, blockers, read-next links | 120 lines |
|
|
39
|
+
|
|
40
|
+
Files can exceed the budget only with `Budget override: <reason>`.
|
|
41
|
+
|
|
42
|
+
## Canonical slice grammar
|
|
43
|
+
|
|
44
|
+
Every producer of `tasks.md` uses this field set. `Dependencies` is slice
|
|
45
|
+
ordering; package and service requirements belong in `External dependencies`.
|
|
46
|
+
|
|
47
|
+
<!-- canonical-slice:start -->
|
|
48
|
+
```markdown
|
|
49
|
+
## SLICE-001 <observable capability>
|
|
50
|
+
Goal: <single observable capability>
|
|
51
|
+
Satisfies: AC-001[, AC-002]
|
|
52
|
+
Acceptance criteria: <binary criteria this slice closes>
|
|
53
|
+
Complexity: <1..5> — <reason>
|
|
54
|
+
Forge: <no | yes — reason>
|
|
55
|
+
Mode: <AFK | HITL>
|
|
56
|
+
Gate: <advisory | validating | blocking | escalating>
|
|
57
|
+
SLA: <15m | 4h | 24h | none>
|
|
58
|
+
Checkpoint: <question | none>
|
|
59
|
+
Dependencies: <SLICE-### list | none>
|
|
60
|
+
depends_on: [<SLICE-### IDs>]
|
|
61
|
+
Consumes / Produces: <interfaces read and exposed>
|
|
62
|
+
Known-Gotchas: <ordering hazards and framework footguns | none>
|
|
63
|
+
Prior-slice learnings: <constraints learned earlier | none>
|
|
64
|
+
Files likely touched: <real paths>
|
|
65
|
+
Tests/proof: <tests to write/run and exact validation commands>
|
|
66
|
+
Browser proof required: <yes | no>
|
|
67
|
+
Frontend craft required: <yes | no>
|
|
68
|
+
Design brief states: <UI states/interaction | none>
|
|
69
|
+
Visual acceptance: <state × viewport × input target | none>
|
|
70
|
+
Fullstack (FE+BE): <yes | no>
|
|
71
|
+
External dependencies: <libraries/services | none>
|
|
72
|
+
Existing to reuse / extend: <components/utilities/patterns | none>
|
|
73
|
+
Rollback notes: <reversal path>
|
|
74
|
+
Evidence required: <evidence $rite-prove must capture>
|
|
75
|
+
Edge/Prohibition coverage: <EDGE/PROH IDs | none>
|
|
76
|
+
Done condition: <checkable, exhaustive completion criterion>
|
|
77
|
+
```
|
|
78
|
+
<!-- canonical-slice:end -->
|
|
79
|
+
|
|
80
|
+
`depends_on` is the machine-readable mirror of `Dependencies`; keep the sets
|
|
81
|
+
identical and cycle-free. `Gate`, `SLA`, and `Checkpoint` are required for HITL
|
|
82
|
+
slices; use `none` when they do not apply. Complexity above 3 triggers reslicing
|
|
83
|
+
unless the stated reason makes the boundary irreducible. `Forge: yes` is reserved
|
|
84
|
+
for a high-complexity architecture fork with multiple viable approaches.
|
|
85
|
+
|
|
86
|
+
## Read next by phase
|
|
87
|
+
|
|
88
|
+
| Phase | Read |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| spec | `README.md`, `brief.md`, `spec.md`, `references.md`, `questions.md` |
|
|
91
|
+
| define | `README.md`, `state.md`, `spec.md`, `architecture.md`, `decisions.md`, `assumptions.md` |
|
|
92
|
+
| vet | `README.md`, `traceability.md`, `plan.md`, `tasks.md`, `architecture.md`, `decisions.md` |
|
|
93
|
+
| build | `state.md`, `tasks.md`, `plan.md`, `architecture.md`, `traceability.md`, `questions.md` |
|
|
94
|
+
| prove | `traceability.md`, `tasks.md`, `evidence.md`, `browser-evidence.md`, `touched-files.md` |
|
|
95
|
+
| review/seal | `README.md`, `traceability.md`, `spec.md`, `evidence.md`, `decisions.md`, `drift.md`, `touched-files.md` |
|
|
96
|
+
| handoff | `README.md`, `state.md`, `handoff.md`, then the linked source artifacts |
|
|
97
|
+
|
|
98
|
+
## Do not duplicate
|
|
99
|
+
|
|
100
|
+
- Do not make `spec.md` carry deep architecture; link to `architecture.md`/`flows.md`.
|
|
101
|
+
- Do not copy acceptance criteria into `plan.md`; reference `AC-###`.
|
|
102
|
+
- Do not copy full proof into `handoff.md`; link to `evidence.md`.
|
|
103
|
+
- Do not make `state.md` an append-only log; keep only the current cursor.
|
|
104
|
+
- Do not create optional files before their phase; absence is meaningful.
|
|
105
|
+
|
|
106
|
+
## ID contract
|
|
107
|
+
|
|
108
|
+
Use stable IDs: `REQ-001`, `AC-001`, `SLICE-001`, `DEC-001`, `Q-001`,
|
|
109
|
+
`DRIFT-001`, `EVID-001`. Old `AC1` and `Slice 1` forms are legacy and should
|
|
110
|
+
not be generated for new workspaces.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-prose-craft
|
|
3
|
+
description: Internal DevRites skill; DevRites agents invoke it explicitly, not by prompt match.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Codex compatibility
|
|
8
|
+
|
|
9
|
+
This is the Codex mirror of a DevRites skill. In Codex:
|
|
10
|
+
|
|
11
|
+
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
12
|
+
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
13
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here — Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
14
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review** — an inline pass shares the calling context and is weaker evidence.
|
|
15
|
+
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
16
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers — NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# devrites-prose-craft — prose that reads human
|
|
20
|
+
|
|
21
|
+
Write for a teammate who will rely on the result. Remove model-shaped filler without sanding
|
|
22
|
+
off the author's voice or weakening technical content.
|
|
23
|
+
|
|
24
|
+
## When this fires
|
|
25
|
+
- A text-generating phase composes an artifact: `$rite-spec` (overview, rationale),
|
|
26
|
+
`$rite-define` / `$rite-plan` (plan narrative), `$rite-temper` / `$rite-vet` (review prose),
|
|
27
|
+
`$rite-review` / `$rite-seal` (findings + verdict prose), `$rite-ship` (commit/PR body),
|
|
28
|
+
`devrites-doubt` / `rite-handoff` (notes).
|
|
29
|
+
- Any phase composes a substantive **user-facing reply** (not the deterministic progress
|
|
30
|
+
footers — those are script-rendered and exact by design).
|
|
31
|
+
- `$rite-polish` Phase 1 as the **catch** pass on prose that slipped through at write time.
|
|
32
|
+
|
|
33
|
+
## Two modes
|
|
34
|
+
- **Rewrite (default).** When DevRites writes the artifact/reply or polishes it, fix the prose
|
|
35
|
+
in place.
|
|
36
|
+
- **Detect-only.** When auditing prose you shouldn't silently change — a user's existing
|
|
37
|
+
`spec.md` at `$rite-adopt`, text under `$rite-review` — list the tells with quotes and leave
|
|
38
|
+
the text untouched. Mirrors `devrites-audit`'s read-only stance.
|
|
39
|
+
|
|
40
|
+
Order findings by severity: **P0** credibility-killers (vague attribution, a marketing
|
|
41
|
+
adjective standing in for evidence, a false/unsourced claim) → **P1** obvious tells (negative
|
|
42
|
+
parallelism, filler openers, em-dash tics) → **P2** polish (rhythm, word choice). A quick pass
|
|
43
|
+
fixes P0 + P1 and stops; a full pass takes P2 too.
|
|
44
|
+
|
|
45
|
+
## Process
|
|
46
|
+
|
|
47
|
+
1. **Calibrate.** Choose rewrite or detect-only mode, split prose from technical sections, and
|
|
48
|
+
set the voice baseline: an explicit user sample first, then neighboring project prose, then
|
|
49
|
+
the source text itself. Fall back to flat, direct prose. Done when every section has a
|
|
50
|
+
register and one voice baseline.
|
|
51
|
+
2. **Protect.** Apply the preservation contract in
|
|
52
|
+
[`prose-style.md`](../devrites-lib/reference/standards/prose-style.md) before changing words.
|
|
53
|
+
Scan for clusters of tells; one isolated marker is not a verdict. Done when every claim,
|
|
54
|
+
constraint, identifier, example, quotation, and deliberate uncertainty is accounted for.
|
|
55
|
+
3. **Rewrite.** Remove P0/P1 tells and P2 when the caller asked for a full pass. Match the
|
|
56
|
+
baseline's vocabulary and cadence without inventing facts, opinions, or quirks. Done when the
|
|
57
|
+
same reader can make the same decisions from the rewrite as from the source.
|
|
58
|
+
4. **Audit.** Compare source and result, read the prose aloud, and run the relevant references
|
|
59
|
+
below. Done when the preservation contract passes, the technical register remains exact,
|
|
60
|
+
and no in-scope tell remains.
|
|
61
|
+
|
|
62
|
+
## References
|
|
63
|
+
|
|
64
|
+
- Always read [`prose-style.md`](../devrites-lib/reference/standards/prose-style.md) for the two
|
|
65
|
+
registers, preservation contract, and core checks.
|
|
66
|
+
- Load [`reference/banned-phrases.md`](reference/banned-phrases.md) when word choice or tone is
|
|
67
|
+
the problem.
|
|
68
|
+
- Load [`reference/structures.md`](reference/structures.md) when sentence shape, rhythm, or
|
|
69
|
+
formatting is the problem.
|
|
70
|
+
- Load [`reference/examples.md`](reference/examples.md) when the target artifact's shape is
|
|
71
|
+
unclear.
|
|
72
|
+
|
|
73
|
+
## Boundaries
|
|
74
|
+
|
|
75
|
+
This skill edits language, not facts. When style and fidelity conflict, fidelity wins.
|
|
76
|
+
|
|
77
|
+
## Output
|
|
78
|
+
|
|
79
|
+
- **Rewrite:** replace the target prose; add no editing commentary unless the caller's contract
|
|
80
|
+
asks for it.
|
|
81
|
+
- **Detect-only:** return ordered P0/P1/P2 findings with the exact phrase and a concrete fix.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Phrases & words to cut
|
|
2
|
+
|
|
3
|
+
Load this when scrubbing prose. The lists are calibrated for a coding agent: the **AI
|
|
4
|
+
vocabulary** section marks which words are *always* slop versus which are legitimate in
|
|
5
|
+
technical writing, so the skill doesn't flatten a real spec into vagueness.
|
|
6
|
+
|
|
7
|
+
## Throat-clearing openers (cut — state the point)
|
|
8
|
+
|
|
9
|
+
- "Here's the thing:" / "Here's what / why / how [X]"
|
|
10
|
+
- "It's worth noting that" / "It's important to note that"
|
|
11
|
+
- "Let me be clear" / "I'll be honest" / "To be honest"
|
|
12
|
+
- "The uncomfortable truth is" / "The reality is" / "It turns out"
|
|
13
|
+
- "Make no mistake" / "At its core" / "At the end of the day"
|
|
14
|
+
- "When it comes to [X]" / "In today's [fast-paced / digital] world"
|
|
15
|
+
|
|
16
|
+
Any "here's what/this/that" or "it's worth noting" is runway before the point. Delete it and
|
|
17
|
+
start at the point.
|
|
18
|
+
|
|
19
|
+
## Emphasis crutches (delete — they add no information)
|
|
20
|
+
|
|
21
|
+
- "Let that sink in." / "Full stop." / "Period."
|
|
22
|
+
- "This matters because" / "Here's why that matters"
|
|
23
|
+
- "This is the deepest problem" / "the stakes are high" / "the consequences are real"
|
|
24
|
+
|
|
25
|
+
## Hedging stacks (make the claim or cut it)
|
|
26
|
+
|
|
27
|
+
- "it's important to note that, generally, in most cases…"
|
|
28
|
+
- "perhaps", "could potentially", "it could be argued that", "one might say"
|
|
29
|
+
|
|
30
|
+
Stacked hedges read as a model covering itself. One honest qualifier is fine; a stack is slop.
|
|
31
|
+
|
|
32
|
+
## Sycophancy & chatbot artifacts (remove entirely)
|
|
33
|
+
|
|
34
|
+
These leak the assistant register into artifacts and replies:
|
|
35
|
+
|
|
36
|
+
- "Great question!" / "You're absolutely right!" / "Certainly!" / "Of course!"
|
|
37
|
+
- "I hope this helps!" / "Let me know if you need anything else" / "Feel free to reach out"
|
|
38
|
+
|
|
39
|
+
A `decisions.md` entry or a `seal.md` verdict is a document, not a chat turn. No pleasantries.
|
|
40
|
+
|
|
41
|
+
## Business jargon → plain language
|
|
42
|
+
|
|
43
|
+
| Avoid | Use instead |
|
|
44
|
+
|---|---|
|
|
45
|
+
| Navigate (challenges) | handle, address |
|
|
46
|
+
| Unpack (the analysis) | explain, examine |
|
|
47
|
+
| Lean into | accept, commit to |
|
|
48
|
+
| Landscape (figurative) | situation, field, area |
|
|
49
|
+
| Game-changer | significant, important |
|
|
50
|
+
| Deep dive | analysis, examination |
|
|
51
|
+
| Circle back / revisit later | return to |
|
|
52
|
+
| Moving forward | next, from now on |
|
|
53
|
+
| On the same page | aligned, agreed |
|
|
54
|
+
|
|
55
|
+
## AI vocabulary — calibrated (this is the adaptation that matters)
|
|
56
|
+
|
|
57
|
+
Word lists are blunt instruments. A coding agent must not "fix" a spec that legitimately says
|
|
58
|
+
a system is *robust* under load or exposes a *comprehensive* API. Three tiers:
|
|
59
|
+
|
|
60
|
+
**Tier 1 — always slop, replace on sight (figurative filler, never load-bearing in a spec):**
|
|
61
|
+
delve / delve into, tapestry, beacon, embark, testament to, realm, landscape (figurative),
|
|
62
|
+
pave the way, shed light on, game-changer, unlock the potential, ever-evolving, vibrant,
|
|
63
|
+
multifaceted, holistic, paradigm (as praise), groundbreaking, transformative, cutting-edge.
|
|
64
|
+
|
|
65
|
+
**Tier 2 — slop in prose, legitimate in technical context (keep the meaning, judge by use):**
|
|
66
|
+
robust, comprehensive, seamless, leverage, harness, facilitate, underpin, streamline,
|
|
67
|
+
foster, utilize, ecosystem, scalable.
|
|
68
|
+
- In a sentence selling the work ("a robust, scalable, seamless solution") → cut; say what it
|
|
69
|
+
does and what proves it.
|
|
70
|
+
- In a precise technical claim ("the retry path is robust to a dropped connection — see
|
|
71
|
+
`evidence.md`") → keep. The word carries a real, tested meaning.
|
|
72
|
+
|
|
73
|
+
**Tier 3 — flag by density, not per-word:** ordinary words (`important`, `key`, `various`,
|
|
74
|
+
`significant`) become slop only when they cluster. If a paragraph leans on three of them, it's
|
|
75
|
+
saying nothing — name the specific thing instead.
|
|
76
|
+
|
|
77
|
+
**Co-occurrence tell:** these words travel in packs. Where you find one Tier-1 word, look for
|
|
78
|
+
its neighbours (delve / boasts / bolstered / crucial / pivotal cluster together). One sighting
|
|
79
|
+
means scan the whole passage.
|
|
80
|
+
|
|
81
|
+
**Match inflected forms.** Each entry covers the word *and* its variants — adverb (`-ly`),
|
|
82
|
+
gerund (`-ing`), plural, conjugations: `delve` also catches `delving` / `delved`; `leverage`
|
|
83
|
+
catches `leveraging` / `leveraged`. The exception is a variant with a distinct, legitimate
|
|
84
|
+
meaning (`real` the intensifier vs `real` meaning factual) — judge it by use, same as the
|
|
85
|
+
tier calibration above.
|
|
86
|
+
|
|
87
|
+
## Adverbs (cut empty intensifiers; keep load-bearing ones)
|
|
88
|
+
|
|
89
|
+
Cut the emphasis adverbs that add nothing: really, very, just, literally, genuinely, honestly,
|
|
90
|
+
simply, actually, truly, fundamentally, inherently, inevitably, basically.
|
|
91
|
+
|
|
92
|
+
Keep adverbs that change meaning or precision: "validate **server-side**", "fail **closed**",
|
|
93
|
+
"runs **concurrently**", "**explicitly** typed". The rule is "cut the empty intensifier", not
|
|
94
|
+
"delete every -ly word" — over-applying the no-adverb rule is its own kind of damage in
|
|
95
|
+
technical writing.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Before / after — DevRites artifacts & replies
|
|
2
|
+
|
|
3
|
+
Real shapes DevRites emits. Each pair keeps the technical content and strips the voice. Note
|
|
4
|
+
how the calibration preserves precise lists and identifiers while cutting the prose slop.
|
|
5
|
+
|
|
6
|
+
## 1. `spec.md` overview
|
|
7
|
+
|
|
8
|
+
**Before (slop):**
|
|
9
|
+
> In today's fast-paced data landscape, this feature delivers a robust, scalable, and seamless
|
|
10
|
+
> CSV export capability. It's not just about exporting data — it's about empowering users to
|
|
11
|
+
> unlock the full potential of their information. This is a pivotal step forward.
|
|
12
|
+
|
|
13
|
+
**After:**
|
|
14
|
+
> Export the report table to CSV. Users currently copy rows by hand; this adds a one-click
|
|
15
|
+
> download. Scope: the reports table only, server-side streaming so memory stays flat on large
|
|
16
|
+
> exports.
|
|
17
|
+
|
|
18
|
+
Cut the jargon, the negative-parallelism hook, and the importance inflation. Kept what the
|
|
19
|
+
feature is, who it's for, and the scope boundary.
|
|
20
|
+
|
|
21
|
+
## 2. Acceptance criteria (technical register — precision stays)
|
|
22
|
+
|
|
23
|
+
**Keep this as-is — do NOT "humanize" it:**
|
|
24
|
+
> - AC-001: A `GET /reports/:id/export?format=csv` returns `200` with `Content-Type: text/csv`.
|
|
25
|
+
> - AC-002: Rows stream; peak memory stays under 50 MB for a 1M-row export.
|
|
26
|
+
> - AC-003: An unknown `format` returns `400` with `{ "error": "unsupported format" }`.
|
|
27
|
+
|
|
28
|
+
Three items, exact identifiers, exact status codes. This is the technical register working
|
|
29
|
+
correctly. The skill leaves it alone.
|
|
30
|
+
|
|
31
|
+
## 3. `decisions.md` entry
|
|
32
|
+
|
|
33
|
+
**Before (slop):**
|
|
34
|
+
> We made the strategic decision to leverage a streaming approach. This robust solution
|
|
35
|
+
> seamlessly handles large datasets and represents a best-in-class architecture that will
|
|
36
|
+
> empower the system to scale effortlessly.
|
|
37
|
+
|
|
38
|
+
**After:**
|
|
39
|
+
> Stream rows to the response instead of buffering the full file. Buffering OOM-ed on a
|
|
40
|
+
> 1M-row export in testing (see `evidence.md`). Trade-off: streaming rules out a total-row
|
|
41
|
+
> count in the header. Revisit if the UI needs an upfront progress bar.
|
|
42
|
+
|
|
43
|
+
Named the decision, the reason (with evidence), and the trade-off. That's what an ADR is for.
|
|
44
|
+
|
|
45
|
+
## 4. `review.md` / `seal.md` finding
|
|
46
|
+
|
|
47
|
+
**Before (slop):**
|
|
48
|
+
> It's worth noting that the error handling here could potentially be more robust. This is a
|
|
49
|
+
> critical area that fundamentally matters for production readiness.
|
|
50
|
+
|
|
51
|
+
**After:**
|
|
52
|
+
> Critical — `export.ts:42` catches every error and returns `500 "something went wrong"`. A
|
|
53
|
+
> bad `format` param should be a `400` with the specific message (AC-003). Catch the parse error
|
|
54
|
+
> narrowly; let the rest propagate.
|
|
55
|
+
|
|
56
|
+
Severity label, `file:line`, the specific problem, the fix. No hedging, no "fundamentally".
|
|
57
|
+
|
|
58
|
+
## 5. Chat reply
|
|
59
|
+
|
|
60
|
+
**Before (slop):**
|
|
61
|
+
> Great question! I've gone ahead and implemented the export feature. It's not just functional
|
|
62
|
+
> — it's production-ready. Let me know if you need anything else!
|
|
63
|
+
|
|
64
|
+
**After:**
|
|
65
|
+
> Built slice 3 (CSV streaming). Tests pass (`npm test -- export` → 14 passing), peak memory
|
|
66
|
+
> 38 MB on the 1M-row fixture. Next: slice 4 (pagination). Want me to continue?
|
|
67
|
+
|
|
68
|
+
Dropped the pleasantries and the "not just X" inflation. Led with what's done and the evidence.
|
|
69
|
+
|
|
70
|
+
## 6. Commit body
|
|
71
|
+
|
|
72
|
+
**Before (slop):**
|
|
73
|
+
> This commit introduces a comprehensive and robust solution that seamlessly enables users to
|
|
74
|
+
> leverage powerful new export capabilities.
|
|
75
|
+
|
|
76
|
+
**After:**
|
|
77
|
+
> Buffering the whole CSV OOM-ed on >100k rows. Stream rows to the response so memory stays
|
|
78
|
+
> flat. Rules out an upfront total-count header; tracked in #123.
|
|
79
|
+
|
|
80
|
+
Followed `git-workflow.md`: the *why*, wrapped, in plain language.
|
|
81
|
+
|
|
82
|
+
## 7. Fidelity when evidence is incomplete
|
|
83
|
+
|
|
84
|
+
**Before (slop, but informative):**
|
|
85
|
+
> It is important to note that the importer retries twice after a `429`. The available evidence
|
|
86
|
+
> does not clearly indicate whether a third attempt is dropped or queued. In either case, the
|
|
87
|
+
> alert text is `Import delayed`.
|
|
88
|
+
|
|
89
|
+
**After:**
|
|
90
|
+
> The importer retries twice after a `429`. We do not have a production trace showing whether a
|
|
91
|
+
> third attempt is dropped or queued. The alert text remains `Import delayed`.
|
|
92
|
+
|
|
93
|
+
Cut the opener and vague phrasing. Kept the retry count, status code, evidence gap, two possible
|
|
94
|
+
outcomes, and exact alert text. A smoother sentence that picked one outcome would be fabrication.
|
|
95
|
+
|
|
96
|
+
## The pattern across all seven
|
|
97
|
+
|
|
98
|
+
1. Lead with the concrete thing (what it is, what's done, what's wrong).
|
|
99
|
+
2. Replace every "robust/seamless/leverage" flourish with the specific behavior + its proof.
|
|
100
|
+
3. Drop negative-parallelism hooks ("not just X, it's Y") and importance labels ("pivotal").
|
|
101
|
+
4. Keep the technical register intact: exact identifiers, status codes, numbered criteria,
|
|
102
|
+
real enumerations. Precision is not slop.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Structures to avoid
|
|
2
|
+
|
|
3
|
+
The sentence- and paragraph-level shapes that mark machine-written prose. Each row is a
|
|
4
|
+
pattern and its fix. Calibrated: the slop is the *decorative* version; the genuine structural
|
|
5
|
+
version (a real enumeration, a real contrast that carries information) stays.
|
|
6
|
+
|
|
7
|
+
## Negative parallelism — the "not X, it's Y" family
|
|
8
|
+
|
|
9
|
+
The single most recognizable tell. It mimics insight by manufacturing a contrast.
|
|
10
|
+
|
|
11
|
+
| Pattern | Fix |
|
|
12
|
+
|---|---|
|
|
13
|
+
| "It's not X, it's Y." / "It isn't X. It's Y." | State Y. "Y is the cause." |
|
|
14
|
+
| "Not just X, but Y." / "Not only X but also Y." | State both plainly, or just Y if X is filler. |
|
|
15
|
+
| "The question isn't X. It's Y." | Ask the real question once, or state the answer. |
|
|
16
|
+
| "This isn't about X. It's about Y." | "This is about Y." |
|
|
17
|
+
| "X isn't the problem. Y is." | "Y is the problem." |
|
|
18
|
+
| "No X. No Y. Just Z." | "Z." or a normal sentence naming Z. |
|
|
19
|
+
|
|
20
|
+
Drop the negation; lead with the thing you actually mean.
|
|
21
|
+
|
|
22
|
+
## Rule of three / decorative tricolon
|
|
23
|
+
|
|
24
|
+
AI defaults to three-item adjective or benefit triplets. The fix depends on whether the three
|
|
25
|
+
items are *real*.
|
|
26
|
+
|
|
27
|
+
- **Decorative triad** — "innovative, transformative, and groundbreaking", "fast, reliable, and
|
|
28
|
+
scalable" as a flourish → cut to the one that's true and provable, or delete.
|
|
29
|
+
- **Real enumeration** — three acceptance criteria, three slices, three status codes the
|
|
30
|
+
endpoint returns → **keep all three.** This is precision, not slop. The technical register
|
|
31
|
+
needs the complete list.
|
|
32
|
+
|
|
33
|
+
Test: if removing one item loses information a reader needs, it's a real list — keep it. If the
|
|
34
|
+
three are interchangeable adjectives, it's a triad — cut it.
|
|
35
|
+
|
|
36
|
+
## Importance inflation
|
|
37
|
+
|
|
38
|
+
Announcing significance instead of showing it. Let the reader judge weight.
|
|
39
|
+
|
|
40
|
+
| Pattern | Fix |
|
|
41
|
+
|---|---|
|
|
42
|
+
| "a pivotal moment", "a broader movement" | Describe what happened; drop the significance label. |
|
|
43
|
+
| "The implications are significant." | Name the specific implication. |
|
|
44
|
+
| "This is a critical step." | Show why it's required (the dependency, the gate, the risk). |
|
|
45
|
+
|
|
46
|
+
## Vague attribution — cite the source or drop it
|
|
47
|
+
|
|
48
|
+
The prose twin of DevRites's evidence discipline (`devrites-source-driven`, `evidence.md`). An
|
|
49
|
+
unnamed authority is not a source; it inflates one person's claim into consensus.
|
|
50
|
+
|
|
51
|
+
| Pattern | Fix |
|
|
52
|
+
|---|---|
|
|
53
|
+
| "Experts believe…", "Studies show…", "Research suggests…" | Name the study/doc/benchmark, or cut the appeal and state the claim on its own merits. |
|
|
54
|
+
| "Best practice says…", "The community recommends…", "It's widely agreed…" | Link the source (an RFC, the framework docs, a measured result), or make the call yourself and own it in `decisions.md`. |
|
|
55
|
+
|
|
56
|
+
If you can't name who holds the view, you don't have a source — you have a guess. State it as one.
|
|
57
|
+
|
|
58
|
+
## Abstract category nouns — name the specific items
|
|
59
|
+
|
|
60
|
+
"Various factors", "several considerations", "a number of issues" say nothing. Replace the
|
|
61
|
+
category word with the actual items.
|
|
62
|
+
|
|
63
|
+
| Pattern | Fix |
|
|
64
|
+
|---|---|
|
|
65
|
+
| "improvements across various metrics" | "cuts p95 latency 120ms→80ms and halves the query count" |
|
|
66
|
+
| "there are several considerations" | List the considerations, or name the one that matters. |
|
|
67
|
+
| "performance issues", "some edge cases" | Name the N+1 query; name the empty-input and the 10k-row cases. |
|
|
68
|
+
|
|
69
|
+
Offender words to catch: factors, aspects, considerations, issues, elements, things, areas,
|
|
70
|
+
metrics (unnamed). In a spec or `decisions.md`, the specific item is the whole point.
|
|
71
|
+
|
|
72
|
+
## False agency — name who acts
|
|
73
|
+
|
|
74
|
+
Giving inanimate things human verbs. Common in machine prose because it avoids naming the actor.
|
|
75
|
+
|
|
76
|
+
| Pattern | Fix |
|
|
77
|
+
|---|---|
|
|
78
|
+
| "the data tells us" | "the grader reads X and returns Y" |
|
|
79
|
+
| "the decision emerges" | "we chose X because…" |
|
|
80
|
+
| "the complaint becomes a fix" | "the team fixed it in slice 3" |
|
|
81
|
+
| "the test ensures correctness" | "the test asserts `total === 42`" |
|
|
82
|
+
|
|
83
|
+
Front the actor: the script, the gate, the function, the engineer, or "you".
|
|
84
|
+
|
|
85
|
+
## Dramatic fragmentation & rhetorical setups
|
|
86
|
+
|
|
87
|
+
| Pattern | Fix |
|
|
88
|
+
|---|---|
|
|
89
|
+
| "[Noun]. That's it. That's the [thing]." | One complete sentence. |
|
|
90
|
+
| "X. And Y. And Z." (staccato for drama) | Join into normal sentences; vary length. |
|
|
91
|
+
| "The result? Devastating." (self-posed Q&A) | Fold into a statement. |
|
|
92
|
+
| "What if [reframe]?" as a hook | Make the point directly. |
|
|
93
|
+
| "Think about it:" / "Here's what I mean:" | Delete; the next sentence already does the work. |
|
|
94
|
+
|
|
95
|
+
## Inflated constructions
|
|
96
|
+
|
|
97
|
+
Three small tells that pad a plain sentence into something that sounds weightier than it is.
|
|
98
|
+
|
|
99
|
+
| Pattern | Fix |
|
|
100
|
+
|---|---|
|
|
101
|
+
| **Copula-dodge** — "X serves as / functions as / stands as / boasts / features…" | Use the plain verb. "The gateway **is** the entry point", "the module **has** three handlers". |
|
|
102
|
+
| **Participle tail** — "…, highlighting its importance", "…, reflecting broader trends", "…, underscoring its role as a dynamic hub" | Cut the trailing `-ing` clause; it adds fake depth, not information. |
|
|
103
|
+
| **Aphorism formula** — "X is the Y of Z" ("caching is the heartbeat of the system"), "X is not a tool but a Y" | State the actual property. "The cache holds the hot rows so the DB isn't hit on every request." |
|
|
104
|
+
| **Invented concept label** — coining a pseudo-term as if it's established: "the N+1 tax", "the supervision paradox", "the abstraction trap" | Name the concrete thing and skip the coined label, or define it once if it genuinely recurs. |
|
|
105
|
+
|
|
106
|
+
## Passive voice (prose register)
|
|
107
|
+
|
|
108
|
+
Every prose sentence wants a subject doing something. Passive hides the actor and drains energy.
|
|
109
|
+
|
|
110
|
+
| Pattern | Fix |
|
|
111
|
+
|---|---|
|
|
112
|
+
| "It was decided that…" | "We decided…" |
|
|
113
|
+
| "Mistakes were made." | Name who, and what. |
|
|
114
|
+
| "The endpoint is called by the client." | "The client calls the endpoint." |
|
|
115
|
+
|
|
116
|
+
Calibration: passive is fine when the actor is genuinely unknown or irrelevant ("the row is
|
|
117
|
+
deleted on cascade"). Don't contort a sentence to name an actor that doesn't matter.
|
|
118
|
+
|
|
119
|
+
## Rhythm
|
|
120
|
+
|
|
121
|
+
- Don't run three same-length sentences in a row; don't stack three short fragments for effect.
|
|
122
|
+
- Don't end every paragraph on a punchy one-liner. Vary where the weight lands.
|
|
123
|
+
- **Em-dashes:** at most one per paragraph, used where a comma or period won't do. Multiple per
|
|
124
|
+
paragraph is the tell. (Catch both the em-dash `—` and the `--` substitute.)
|
|
125
|
+
- Don't open consecutive sentences with the same Wh- word ("What makes this… What this means…")
|
|
126
|
+
as a crutch; lead with the subject.
|
|
127
|
+
|
|
128
|
+
## Formatting tells
|
|
129
|
+
|
|
130
|
+
- **No "Bold term: explanation" bullet lists** as the default structure for prose — the most
|
|
131
|
+
recognizable AI formatting pattern. Use real prose, or a plain bullet, unless the document's
|
|
132
|
+
existing style genuinely uses definition lists (a glossary, an API reference).
|
|
133
|
+
- No emoji in headings or section titles (artifacts and code both).
|
|
134
|
+
- Don't over-bold. Bold the one load-bearing term, not every noun.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-refresh-indexes
|
|
3
|
+
description: Internal DevRites skill; DevRites agents invoke it explicitly, not by prompt match.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Codex compatibility
|
|
8
|
+
|
|
9
|
+
This is the Codex mirror of a DevRites skill. In Codex:
|
|
10
|
+
|
|
11
|
+
- Load DevRites engineering standards from `.agents/skills/devrites-lib/reference/standards/`. Read `.agents/skills/devrites-lib/reference/standards/core.md` before workflow work, then load the other `.agents/skills/devrites-lib/reference/standards/*.md` files exactly when this skill asks for them.
|
|
12
|
+
- Use the installed `devrites-engine` binary as the canonical runtime helper surface for orientation, gates, and state mutation.
|
|
13
|
+
- When this skill asks for a DevRites specialist or writer agent, **explicitly** spawn the matching Codex custom agent from `.codex/agents/devrites-*.toml` through Codex subagents (`spawn_agent`), then wait for its result and reconcile it as the skill instructs. Do not do the review inline just because the instruction to spawn is embedded here — Codex under-fires embedded spawn/skill instructions (openai/codex #23496), so treat the spawn as required, not optional.
|
|
14
|
+
- The independence of a fresh-context subagent is the point. If Codex genuinely cannot spawn subagents in the current surface, run the documented inline fallback and **label the result an inline fallback, not an independent review** — an inline pass shares the calling context and is weaker evidence.
|
|
15
|
+
- Codex project hooks are installed in `.codex/hooks.json`. Review and trust them with `/hooks` before relying on hook enforcement.
|
|
16
|
+
- When this skill asks a HITL question via `AskUserQuestion`: Codex's equivalent (`request_user_input`) exists only in Plan mode. Outside Plan mode, render the option set as a plain numbered list in chat and **end the turn** so the human answers — NEVER silently pick an option yourself; auto-picking is AFK's contract, gated by the `.devrites/AFK` sentinel.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# devrites-refresh-indexes — keep the code-intelligence indexes fresh
|
|
20
|
+
|
|
21
|
+
`tooling.md` says to cross-verify structural claims across codebase-memory-mcp, codegraph, and
|
|
22
|
+
graphify, and that **a disagreement between indexes is a signal** — a fresh read of live code
|
|
23
|
+
beats any index. A *stale* index manufactures exactly that disagreement. This keeps the three
|
|
24
|
+
mechanical indexes current after edits so the next lookup is trustworthy.
|
|
25
|
+
|
|
26
|
+
All three are **optional** (per `tooling.md`): each is refreshed only if its binary is on PATH
|
|
27
|
+
**and** it already tracks this repo. None present → this is a silent no-op. Never installs
|
|
28
|
+
anything, never blocks. Same incremental shape for all three; no LLM needed for code.
|
|
29
|
+
|
|
30
|
+
| Index | Tracks repo when | Refresh |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| **codebase-memory-mcp** (primary) | binary present + repo in `list_projects` (or `.codebase-memory/`) | `codebase-memory-mcp cli index_repository '{"repo_path":"<root>"}'` |
|
|
33
|
+
| **codegraph** | `.codegraph/` exists + `codegraph` on PATH | `codegraph sync` |
|
|
34
|
+
| **graphify** | `graphify-out/` exists + `graphify` on PATH | `graphify update .` |
|
|
35
|
+
|
|
36
|
+
## Automatic (already wired — no action needed)
|
|
37
|
+
|
|
38
|
+
The `Stop` hook `devrites-engine hook refresh-indexes` runs at end of turn. It self-guards: exits
|
|
39
|
+
instantly unless an index tracks the repo, exits instantly if no source file changed since the
|
|
40
|
+
last refresh, else stamps + locks and spawns a **detached** worker so the turn never blocks.
|
|
41
|
+
ON by default; disable with `DEVRITES_REFRESH_INDEXES=off`.
|
|
42
|
+
|
|
43
|
+
## Manual / thorough refresh (this skill)
|
|
44
|
+
|
|
45
|
+
Force a synchronous refresh now and print the report — resolve the hook across install layouts:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
devrites-engine hook refresh-indexes --force .
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Then the one case the hook can't cover:
|
|
52
|
+
|
|
53
|
+
- **Docs / papers / images changed** (not just code) → `graphify update` only re-runs AST. Run
|
|
54
|
+
the full semantic re-extraction: `/graphify --update` (re-extracts only changed files).
|
|
55
|
+
|
|
56
|
+
## Notes
|
|
57
|
+
|
|
58
|
+
- codegraph and codebase-memory-mcp each have their own background watcher; the explicit
|
|
59
|
+
reindex is the belt-and-suspenders fallback for when a watcher isn't running. graphify has no
|
|
60
|
+
default watcher, so this is its primary freshness path.
|
|
61
|
+
- The index lags writes by ~1s after a refresh — don't re-query in the same instant you edit.
|
|
62
|
+
- Output hygiene (`prose-style.md`): don't name these tools to the user — say what changed
|
|
63
|
+
("re-indexed the edited files"), not which tool did it.
|