opencode-agent-skill 7.7.0
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 +163 -0
- package/LICENSE +9 -0
- package/README.md +581 -0
- package/bin/ocskill.mjs +975 -0
- package/docs/DETERMINISTIC-TOOLS.md +88 -0
- package/docs/ENGINEERING-DESIGN.md +176 -0
- package/docs/EVALS.md +136 -0
- package/docs/NPM-PUBLISH.md +102 -0
- package/docs/OPENCODE-COMPAT.md +109 -0
- package/docs/RESEARCH-SOURCES.md +37 -0
- package/docs/TRACE-SCHEMA.md +109 -0
- package/docs/V7-INTELLIGENCE-RUNTIME.md +166 -0
- package/evals/live/fixtures/engineering-bench/package.json +1 -0
- package/evals/live/fixtures/engineering-bench/src/api-errors.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/authz.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/cache-tags.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/config.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/contract-consumer.mjs +6 -0
- package/evals/live/fixtures/engineering-bench/src/contract-producer.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/dedupe.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/dependency.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/discount.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/inventory.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/migration.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/money.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/pagination.mjs +5 -0
- package/evals/live/fixtures/engineering-bench/src/path-safe.mjs +5 -0
- package/evals/live/fixtures/engineering-bench/src/payment.mjs +5 -0
- package/evals/live/fixtures/engineering-bench/src/query-sort.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/react-state.mjs +8 -0
- package/evals/live/fixtures/engineering-bench/src/retry.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/rn-platform.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/upload.mjs +3 -0
- package/evals/live/fixtures/engineering-bench/src/webhook.mjs +3 -0
- package/evals/live/graders/engineering-bench.mjs +239 -0
- package/evals/live/tasks.json +126 -0
- package/evals/long/fixtures/long-horizon/package.json +1 -0
- package/evals/long/fixtures/long-horizon/src/auth.mjs +5 -0
- package/evals/long/fixtures/long-horizon/src/checkout.mjs +9 -0
- package/evals/long/fixtures/long-horizon/src/inventory.mjs +5 -0
- package/evals/long/fixtures/long-horizon/src/money.mjs +3 -0
- package/evals/long/fixtures/long-horizon/src/payment.mjs +7 -0
- package/evals/long/fixtures/long-horizon/src/product-api.mjs +10 -0
- package/evals/long/fixtures/long-horizon/src/product-cache.mjs +3 -0
- package/evals/long/fixtures/long-horizon/src/product-service.mjs +6 -0
- package/evals/long/fixtures/long-horizon/src/product-state.mjs +8 -0
- package/evals/long/fixtures/long-horizon/src/project-api.mjs +9 -0
- package/evals/long/fixtures/long-horizon/src/project-service.mjs +7 -0
- package/evals/long/fixtures/long-horizon/src/user-consumer.mjs +3 -0
- package/evals/long/fixtures/long-horizon/src/user-migration.mjs +7 -0
- package/evals/long/fixtures/long-horizon/src/user-serializer.mjs +3 -0
- package/evals/long/fixtures/long-horizon/src/user-validation.mjs +3 -0
- package/evals/long/graders/long-horizon.mjs +209 -0
- package/evals/long/tasks.json +36 -0
- package/evals/router-triggers.json +1238 -0
- package/evals/routing.json +321 -0
- package/global-config/AGENTS.md +212 -0
- package/global-config/agents/architect.md +38 -0
- package/global-config/agents/codebase-mapper.md +41 -0
- package/global-config/agents/critic.md +37 -0
- package/global-config/agents/debugger.md +36 -0
- package/global-config/agents/executor.md +48 -0
- package/global-config/agents/integration-verifier.md +43 -0
- package/global-config/agents/plan-checker.md +43 -0
- package/global-config/agents/researcher.md +30 -0
- package/global-config/agents/reviewer.md +30 -0
- package/global-config/agents/verifier.md +33 -0
- package/global-config/commands/audit.md +8 -0
- package/global-config/commands/critique.md +8 -0
- package/global-config/commands/debug.md +8 -0
- package/global-config/commands/feature.md +8 -0
- package/global-config/commands/fix.md +8 -0
- package/global-config/commands/plan.md +8 -0
- package/global-config/commands/research.md +8 -0
- package/global-config/commands/resume.md +22 -0
- package/global-config/commands/review.md +8 -0
- package/global-config/commands/run.md +29 -0
- package/global-config/commands/verify.md +8 -0
- package/global-config/plugins/ues-router/capabilities.js +20 -0
- package/global-config/plugins/ues-router/index.js +277 -0
- package/global-config/plugins/ues-router/router.js +74 -0
- package/global-config/plugins/ues-router/safety.js +16 -0
- package/global-config/skills/accessibility/SKILL.md +10 -0
- package/global-config/skills/accessibility/references/workflow.md +17 -0
- package/global-config/skills/api-contract/SKILL.md +12 -0
- package/global-config/skills/api-contract/references/workflow.md +17 -0
- package/global-config/skills/auth-security/SKILL.md +12 -0
- package/global-config/skills/auth-security/references/workflow.md +15 -0
- package/global-config/skills/bug-diagnosis/SKILL.md +28 -0
- package/global-config/skills/change-impact-analysis/SKILL.md +23 -0
- package/global-config/skills/code-review/SKILL.md +19 -0
- package/global-config/skills/context-engineering/SKILL.md +18 -0
- package/global-config/skills/context-engineering/references/large-repo.md +16 -0
- package/global-config/skills/database-engineering/SKILL.md +12 -0
- package/global-config/skills/database-engineering/references/workflow.md +15 -0
- package/global-config/skills/dependency-management/SKILL.md +12 -0
- package/global-config/skills/dependency-management/references/workflow.md +14 -0
- package/global-config/skills/devops-engineering/SKILL.md +10 -0
- package/global-config/skills/devops-engineering/references/workflow.md +11 -0
- package/global-config/skills/django-engineering/SKILL.md +10 -0
- package/global-config/skills/django-engineering/references/workflow.md +11 -0
- package/global-config/skills/documentation-engineering/SKILL.md +10 -0
- package/global-config/skills/documentation-engineering/references/workflow.md +15 -0
- package/global-config/skills/dotnet-engineering/SKILL.md +10 -0
- package/global-config/skills/dotnet-engineering/references/workflow.md +11 -0
- package/global-config/skills/ecommerce-engineering/SKILL.md +10 -0
- package/global-config/skills/ecommerce-engineering/references/workflow.md +17 -0
- package/global-config/skills/engineering-orchestrator/SKILL.md +29 -0
- package/global-config/skills/engineering-orchestrator/references/delegation.md +22 -0
- package/global-config/skills/engineering-orchestrator/references/evaluator-loop.md +18 -0
- package/global-config/skills/engineering-orchestrator/references/long-horizon.md +57 -0
- package/global-config/skills/engineering-orchestrator/references/model-escalation.md +19 -0
- package/global-config/skills/engineering-orchestrator/references/retry-policy.md +12 -0
- package/global-config/skills/engineering-orchestrator/references/routing.md +39 -0
- package/global-config/skills/engineering-orchestrator/references/verification-matrix.md +18 -0
- package/global-config/skills/fastapi-engineering/SKILL.md +10 -0
- package/global-config/skills/fastapi-engineering/references/workflow.md +13 -0
- package/global-config/skills/file-upload-engineering/SKILL.md +10 -0
- package/global-config/skills/file-upload-engineering/references/workflow.md +17 -0
- package/global-config/skills/flutter-engineering/SKILL.md +10 -0
- package/global-config/skills/flutter-engineering/references/workflow.md +13 -0
- package/global-config/skills/git-safety/SKILL.md +10 -0
- package/global-config/skills/git-safety/references/workflow.md +15 -0
- package/global-config/skills/implementation-engineer/SKILL.md +10 -0
- package/global-config/skills/implementation-engineer/references/workflow.md +14 -0
- package/global-config/skills/java-spring-engineering/SKILL.md +10 -0
- package/global-config/skills/java-spring-engineering/references/workflow.md +13 -0
- package/global-config/skills/long-task-state/SKILL.md +28 -0
- package/global-config/skills/long-task-state/references/context-ledger.md +27 -0
- package/global-config/skills/long-task-state/templates/STATE.md +48 -0
- package/global-config/skills/nestjs-engineering/SKILL.md +10 -0
- package/global-config/skills/nestjs-engineering/references/workflow.md +11 -0
- package/global-config/skills/nextjs-engineering/SKILL.md +12 -0
- package/global-config/skills/nextjs-engineering/references/workflow.md +15 -0
- package/global-config/skills/nodejs-engineering/SKILL.md +12 -0
- package/global-config/skills/nodejs-engineering/references/workflow.md +11 -0
- package/global-config/skills/payment-engineering/SKILL.md +12 -0
- package/global-config/skills/payment-engineering/references/workflow.md +19 -0
- package/global-config/skills/performance-engineering/SKILL.md +10 -0
- package/global-config/skills/performance-engineering/references/workflow.md +17 -0
- package/global-config/skills/python-engineering/SKILL.md +10 -0
- package/global-config/skills/python-engineering/references/workflow.md +11 -0
- package/global-config/skills/react-engineering/SKILL.md +14 -0
- package/global-config/skills/react-engineering/references/workflow.md +16 -0
- package/global-config/skills/react-native-engineering/SKILL.md +14 -0
- package/global-config/skills/react-native-engineering/references/workflow.md +16 -0
- package/global-config/skills/repo-explorer/SKILL.md +17 -0
- package/global-config/skills/research-verification/SKILL.md +18 -0
- package/global-config/skills/research-verification/references/source-hierarchy.md +12 -0
- package/global-config/skills/rest-api-design/SKILL.md +10 -0
- package/global-config/skills/rest-api-design/references/workflow.md +18 -0
- package/global-config/skills/software-architect/SKILL.md +10 -0
- package/global-config/skills/software-architect/references/workflow.md +18 -0
- package/global-config/skills/task-planner/SKILL.md +21 -0
- package/global-config/skills/task-planner/references/plan-schema.md +56 -0
- package/global-config/skills/test-driven-development/SKILL.md +22 -0
- package/global-config/skills/test-driven-development/references/writing-good-tests.md +21 -0
- package/global-config/skills/test-verification/SKILL.md +20 -0
- package/global-config/skills/ui-ux-engineering/SKILL.md +10 -0
- package/global-config/skills/ui-ux-engineering/references/workflow.md +17 -0
- package/global-config/skills/web-security-review/SKILL.md +10 -0
- package/global-config/skills/web-security-review/references/workflow.md +22 -0
- package/lib/context-manifest.mjs +101 -0
- package/lib/control-center.mjs +148 -0
- package/lib/eval-auth.mjs +21 -0
- package/lib/eval-report.mjs +72 -0
- package/lib/eval-telemetry.mjs +155 -0
- package/lib/evidence-receipt.mjs +50 -0
- package/lib/hermes-bridge.mjs +28 -0
- package/lib/ids.mjs +21 -0
- package/lib/installer.mjs +636 -0
- package/lib/learning-engine.mjs +161 -0
- package/lib/model-config.mjs +88 -0
- package/lib/model-policy.mjs +71 -0
- package/lib/opencode-compat.mjs +86 -0
- package/lib/orchestrator-policy.mjs +35 -0
- package/lib/process-runner.mjs +117 -0
- package/lib/repo-graph.mjs +135 -0
- package/lib/repo-inspect.mjs +264 -0
- package/lib/review-scope.mjs +98 -0
- package/lib/router-config.mjs +40 -0
- package/lib/task-engine.mjs +777 -0
- package/lib/task-graph.mjs +262 -0
- package/lib/update-resolver.mjs +43 -0
- package/lib/verification-plan.mjs +52 -0
- package/lib/version.mjs +47 -0
- package/lib/workspace-snapshot.mjs +45 -0
- package/lib/worktree-sandbox.mjs +59 -0
- package/package.json +69 -0
- package/scripts/check-working-tree.mjs +2 -0
- package/scripts/collect-evidence.mjs +2 -0
- package/scripts/control-center.mjs +37 -0
- package/scripts/detect-stack.mjs +2 -0
- package/scripts/detect-test-commands.mjs +2 -0
- package/scripts/eval-live.mjs +437 -0
- package/scripts/eval-report.mjs +49 -0
- package/scripts/eval-router.mjs +45 -0
- package/scripts/eval-skills.mjs +71 -0
- package/scripts/impact-map.mjs +4 -0
- package/scripts/install.mjs +61 -0
- package/scripts/repo-map.mjs +2 -0
- package/scripts/smoke-packed-install.mjs +326 -0
- package/scripts/syntax-check.mjs +35 -0
- package/scripts/uninstall.mjs +21 -0
- package/scripts/validate-live-suite.mjs +65 -0
- package/scripts/validate.mjs +133 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: django-engineering
|
|
3
|
+
description: Work on Django including models, migrations, ORM, views, DRF, permissions, forms, admin, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Django Engineering
|
|
7
|
+
|
|
8
|
+
Inspect settings/app structure and migration state. Use ORM efficiently and watch N+1. Keep authorization server-side. Preserve DRF serializer/viewset/permission conventions. Create migrations for schema changes; do not casually edit applied migrations. Test affected behavior.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Django engineering workflow
|
|
2
|
+
|
|
3
|
+
Trace request/command -> URL/view/serializer/form -> service/domain logic -> ORM -> response/template.
|
|
4
|
+
|
|
5
|
+
For ORM work, inspect generated query shape, select_related/prefetch_related opportunities, transaction boundaries, uniqueness constraints and migration compatibility. Avoid fixing N+1 problems with indiscriminate prefetching.
|
|
6
|
+
|
|
7
|
+
For DRF, keep request/response serializers explicit, enforce object-level permissions in the server path that retrieves or mutates the object, preserve status/error conventions and check pagination/filter behavior.
|
|
8
|
+
|
|
9
|
+
For migrations, inspect existing rows before NOT NULL/unique constraints, prefer additive compatible steps for live systems, and avoid editing already-applied migrations casually.
|
|
10
|
+
|
|
11
|
+
Verification should include focused tests, permission negative cases, migration checks and query-count/SQL inspection when performance or data access changed.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: documentation-engineering
|
|
3
|
+
description: Write developer/user documentation that matches actual code, commands, configuration, APIs, and setup.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Documentation Engineering
|
|
7
|
+
|
|
8
|
+
Verify commands, paths, environment names and configuration from the repository. Document implemented behavior, not hypothetical features. Prefer concise executable examples. Update docs when setup/API/workflow materially changes.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Documentation engineering workflow
|
|
2
|
+
|
|
3
|
+
Treat the repository and executable behavior as the source of truth.
|
|
4
|
+
|
|
5
|
+
Before writing:
|
|
6
|
+
- verify commands, paths, package names, environment variables and supported versions
|
|
7
|
+
- distinguish required setup from optional examples
|
|
8
|
+
- identify whether the audience is user, operator, contributor or API consumer
|
|
9
|
+
- check the nearest existing documentation style and navigation
|
|
10
|
+
|
|
11
|
+
Examples should be copyable and minimal. Mark placeholders clearly. Do not present future/planned behavior as implemented.
|
|
12
|
+
|
|
13
|
+
When documenting APIs or configuration, include defaults, failure behavior and compatibility constraints that materially affect use. When behavior changed, search for stale references across README, docs, examples and release notes.
|
|
14
|
+
|
|
15
|
+
Verification should run important commands when practical, validate links/paths, and compare documented outputs against current behavior. Prefer one accurate path over several speculative alternatives.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dotnet-engineering
|
|
3
|
+
description: Work on .NET/ASP.NET Core including APIs, services, EF Core, DI, configuration, auth, async code, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Dotnet Engineering
|
|
7
|
+
|
|
8
|
+
Detect target framework/layout. Respect nullable settings, DI lifetimes, async/await, cancellation when meaningful, configuration/options, middleware/auth and EF Core tracking/migrations/query patterns. Do not suppress warnings instead of fixing correctness.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# .NET / ASP.NET Core workflow
|
|
2
|
+
|
|
3
|
+
Establish target framework, nullable mode, SDK pinning, project references and test layout first.
|
|
4
|
+
|
|
5
|
+
Trace endpoint -> model binding/validation -> service -> persistence/external I/O -> response. Respect DI lifetimes; do not inject scoped services into singletons. Carry CancellationToken through meaningful async I/O and avoid sync-over-async.
|
|
6
|
+
|
|
7
|
+
For EF Core, inspect tracking needs, query projection, Include usage, transaction boundaries, concurrency tokens, migration output and database-provider differences. Avoid loading whole aggregates when a projection is enough.
|
|
8
|
+
|
|
9
|
+
For auth, verify policy/claim/resource authorization at the server boundary and include negative cases.
|
|
10
|
+
|
|
11
|
+
Verification should use dotnet restore/build/test as appropriate, targeted endpoint/integration tests, migration/script inspection for schema changes, and analyzer/nullability output rather than suppressing warnings.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ecommerce-engineering
|
|
3
|
+
description: Build/review ecommerce and marketplace systems: catalog, sellers, carts, checkout, orders, inventory, pricing, images, and traceability.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ecommerce Engineering
|
|
7
|
+
|
|
8
|
+
Check product/catalog consistency, prices/currency/units, seller identity, stock, cart calculations, order transitions, image fallbacks, filters/sort/pagination, async states and provenance/traceability. Enforce money/inventory rules on the server. Use realistic presentation without copying another brand.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Ecommerce / marketplace workflow
|
|
2
|
+
|
|
3
|
+
Model catalog, seller, inventory, cart, pricing, order and payment state as separate responsibilities with explicit ownership.
|
|
4
|
+
|
|
5
|
+
Check:
|
|
6
|
+
- money stored/calculated in integer minor units or another exact representation
|
|
7
|
+
- server-authoritative price, discounts, tax/shipping and inventory
|
|
8
|
+
- seller/tenant ownership on product and order operations
|
|
9
|
+
- stock reservation/release and oversell behavior under retries/concurrency
|
|
10
|
+
- order state transitions and cancellation/refund constraints
|
|
11
|
+
- image/media fallbacks and realistic loading/empty/error states
|
|
12
|
+
- provenance/traceability fields preserved across catalog and order records
|
|
13
|
+
- pagination/filter/sort contracts for large catalogs
|
|
14
|
+
|
|
15
|
+
Never trust client-submitted totals or paid status. Coordinate payment idempotency with order idempotency.
|
|
16
|
+
|
|
17
|
+
Verification should cover cart recalculation, stale price/stock, duplicate checkout, concurrent reservation, unauthorized seller access and order transition edge cases.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: engineering-orchestrator
|
|
3
|
+
description: Coordinate non-trivial engineering work by classifying scope, selecting focused skills, preserving reasoning state, planning, delegating analysis, verifying evidence, challenging assumptions, and applying bounded repair/finish gates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Engineering Orchestrator
|
|
7
|
+
|
|
8
|
+
Use this as the process coordinator for non-trivial work.
|
|
9
|
+
|
|
10
|
+
1. Classify the task as small, standard, or complex by risk and blast radius.
|
|
11
|
+
2. Load process skills before domain skills, and keep the active set small.
|
|
12
|
+
3. Establish observable acceptance criteria and the verification needed to prove them. Use deterministic `ocskill inspect` / `ocskill evidence` helpers when available to ground stack, test and working-tree facts cheaply.
|
|
13
|
+
4. Inspect enough repository context to plan real files, interfaces, producers, and consumers.
|
|
14
|
+
5. For complex or interruption-prone work, maintain a compact fact/assumption/decision/rejected-hypothesis ledger rather than relying on conversational memory.
|
|
15
|
+
6. For long-horizon work explicitly using the persistent workflow, create a machine-checkable plan, validate it with `ues-plan-checker`, and execute dependency-safe tasks through fresh `ues-executor` contexts instead of carrying the whole implementation in one conversation.
|
|
16
|
+
7. Implement in dependency order with verification after meaningful increments.
|
|
17
|
+
8. If a check fails, switch to diagnosis rather than stacking speculative fixes.
|
|
18
|
+
9. For substantial or high-risk behavior changes, run an independent critic pass that attempts to falsify assumptions and find counterexamples.
|
|
19
|
+
10. Repair only evidence-backed blocking findings, re-run affected verification, and bound critic/repair cycles.
|
|
20
|
+
11. Before completion, run the evidence gate, inspect the final diff, and disclose unresolved risks accurately.
|
|
21
|
+
|
|
22
|
+
Read [routing.md](references/routing.md) when skill selection is ambiguous.
|
|
23
|
+
Read [verification-matrix.md](references/verification-matrix.md) before verifying medium/high-risk changes.
|
|
24
|
+
Read [retry-policy.md](references/retry-policy.md) when implementation or verification fails repeatedly.
|
|
25
|
+
Read [delegation.md](references/delegation.md) before using subagents or parallel analysis.
|
|
26
|
+
Read [evaluator-loop.md](references/evaluator-loop.md) for the critic/repair/re-verify loop on substantial changes.
|
|
27
|
+
Read [long-horizon.md](references/long-horizon.md) when work spans many files/tasks, must survive compaction, or will be executed through fresh task agents.
|
|
28
|
+
Read [model-escalation.md](references/model-escalation.md) when user-configured model tiers are available or repeated task failures justify escalation.
|
|
29
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Delegation guide
|
|
2
|
+
|
|
3
|
+
Subagents are useful when isolated context improves analysis. They are overhead when the task is tiny.
|
|
4
|
+
|
|
5
|
+
Good delegation:
|
|
6
|
+
- independent repository research
|
|
7
|
+
- architecture/blast-radius mapping
|
|
8
|
+
- root-cause investigation
|
|
9
|
+
- final read-only review
|
|
10
|
+
- independent verification planning or execution
|
|
11
|
+
|
|
12
|
+
Keep inline:
|
|
13
|
+
- one-file obvious edits
|
|
14
|
+
- tasks where delegation would duplicate the same reads
|
|
15
|
+
- sequential work where each step depends on the previous edit
|
|
16
|
+
|
|
17
|
+
Rules:
|
|
18
|
+
- do not ask multiple agents to edit the same working tree concurrently
|
|
19
|
+
- give each agent a narrow question and concrete scope
|
|
20
|
+
- prefer read-only subagents for review/research/verification
|
|
21
|
+
- verify subagent claims against repository state or command output
|
|
22
|
+
- the parent integrates results and owns the final completion claim
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Evaluator and repair loop
|
|
2
|
+
|
|
3
|
+
Use this loop for substantial behavior changes, risky fixes, public contracts, auth/security, payments, migrations, or work where a hidden regression would be costly.
|
|
4
|
+
|
|
5
|
+
1. **Implement** the smallest coherent change.
|
|
6
|
+
2. **Self-check** the diff against each observable acceptance criterion.
|
|
7
|
+
3. **Verify** the narrowest behavior that proves the change.
|
|
8
|
+
4. **Critic pass**: use an independent read-only critic/reviewer to search for counterexamples and unsupported assumptions.
|
|
9
|
+
5. **Repair** only evidence-backed blocking findings.
|
|
10
|
+
6. **Re-verify** the exact checks affected by the repair, then any broader checks justified by blast radius.
|
|
11
|
+
7. **Re-critic** only when the repair materially changed logic, contracts, permissions, persistence, concurrency, or failure behavior.
|
|
12
|
+
|
|
13
|
+
Bound the loop:
|
|
14
|
+
- at most two repair cycles from critic findings before pausing for a fresh root-cause/architecture review
|
|
15
|
+
- do not churn code to satisfy speculative or style-only feedback
|
|
16
|
+
- unresolved blocking findings must be fixed or explicitly surfaced; they cannot be silently converted into "done"
|
|
17
|
+
|
|
18
|
+
The critic is a falsification step, not an authority. Repository state, tests, contracts, and runtime evidence remain the source of truth.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Long-horizon execution
|
|
2
|
+
|
|
3
|
+
Use this path for work that is too large or interruption-prone for one conversational context.
|
|
4
|
+
|
|
5
|
+
## Durable artifacts
|
|
6
|
+
|
|
7
|
+
When the user explicitly chooses the long-horizon workflow (for example with `/ues-run`) create:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
.ues-work/<slug>/
|
|
11
|
+
SPEC.md
|
|
12
|
+
PLAN.json
|
|
13
|
+
STATE.json
|
|
14
|
+
EVIDENCE.json
|
|
15
|
+
tasks/
|
|
16
|
+
reports/
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The directory is git-ignored execution state, not hidden reasoning. Store requirements, decisions, task status, reports and fresh verification evidence. Never store secrets or chain-of-thought.
|
|
20
|
+
|
|
21
|
+
## Machine-enforced gates
|
|
22
|
+
|
|
23
|
+
The V6 engine enforces three boundaries:
|
|
24
|
+
|
|
25
|
+
1. **Plan gate** — `work plan` leaves the item in `awaiting-plan-approval`. `work start` refuses to run until an independent plan checker PASS is recorded with `work approve-plan`.
|
|
26
|
+
2. **Concurrent state gate** — all mutable `STATE.json` and `EVIDENCE.json` operations use a per-work-item lock plus atomic file replacement, preventing safe-wave executors from losing each other's state.
|
|
27
|
+
3. **Integration gate** — finalization requires a recorded `verify-integration --verdict PASS`. The engine fingerprints the Git workspace at PASS time and rejects finalization if the workspace changes afterward.
|
|
28
|
+
|
|
29
|
+
## Pipeline
|
|
30
|
+
|
|
31
|
+
1. Map the relevant codebase using repository evidence and `ues-codebase-mapper` when useful.
|
|
32
|
+
2. Write observable acceptance criteria into `SPEC.md`.
|
|
33
|
+
3. Initialize state with `ocskill work init`.
|
|
34
|
+
4. Create `PLAN.json` following the plan schema and import it with `ocskill work plan`.
|
|
35
|
+
5. Run `ues-plan-checker`. If it returns PASS, persist that gate with `ocskill work approve-plan`.
|
|
36
|
+
6. Use `ocskill task-graph` to compute dependency-safe waves.
|
|
37
|
+
7. For each ready task:
|
|
38
|
+
- on OpenCode V2 prefer `ues.dispatch_task`, which performs `work start`, creates a fresh `ues-executor` session, selects the configured attempt-based model tier, prompts it with a bounded context pack and waits for completion;
|
|
39
|
+
- inspect the child diff and verification;
|
|
40
|
+
- persist `work complete --evidence ...` or `work fail --reason ...`.
|
|
41
|
+
8. On failure, re-diagnose rather than stacking patches. A later `ues.dispatch_task` attempt can escalate from standard to heavy when configured.
|
|
42
|
+
9. After all tasks complete, run `ues-integration-verifier`.
|
|
43
|
+
10. Persist the verifier's actual result with `ocskill work verify-integration`.
|
|
44
|
+
11. Only a recorded PASS with an unchanged workspace can be finalized.
|
|
45
|
+
|
|
46
|
+
## Parallelism
|
|
47
|
+
|
|
48
|
+
Parallel execution is allowed only when:
|
|
49
|
+
- dependencies are satisfied;
|
|
50
|
+
- safe-wave analysis does not detect declared-file overlap;
|
|
51
|
+
- executors do not write shared implicit files or interfaces.
|
|
52
|
+
|
|
53
|
+
UES serializes durable state writes, but it cannot make conflicting source-code edits safe. When write-surface independence is uncertain, execute sequentially.
|
|
54
|
+
|
|
55
|
+
## Resume
|
|
56
|
+
|
|
57
|
+
On resume, trust `STATE.json`, `EVIDENCE.json`, reports, and current Git status over conversational memory. Revalidate assumptions that could have changed. Do not replay completed tasks merely because the current context does not remember them.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Model-tier escalation
|
|
2
|
+
|
|
3
|
+
UES can map agent roles to three user-configured model tiers:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
light -> cheap/mechanical work
|
|
7
|
+
standard -> normal implementation/debugging/review
|
|
8
|
+
heavy -> architecture, plan checking, critic and difficult integration
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Configure explicit provider/model IDs with `ocskill models`. UES never invents model IDs.
|
|
12
|
+
|
|
13
|
+
Default role tiers favor:
|
|
14
|
+
- heavy: architect, plan-checker, critic, integration-verifier
|
|
15
|
+
- standard: executor, debugger, researcher, reviewer, verifier, codebase-mapper
|
|
16
|
+
|
|
17
|
+
A failed task attempt may escalate one tier through `ocskill model-policy <role> --attempt N`. Tier escalation is advice unless the runtime can launch the requested agent with that configured model.
|
|
18
|
+
|
|
19
|
+
Do not use model escalation as a substitute for better evidence. First failure -> diagnose. Repeated failure -> fresh context and stronger tier. Three failed causal approaches -> reconsider the plan/architecture.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Retry policy
|
|
2
|
+
|
|
3
|
+
Failed verification is new evidence, not permission to guess faster.
|
|
4
|
+
|
|
5
|
+
1. Capture the exact failed check and its output.
|
|
6
|
+
2. Decide whether the failure is caused by the change, pre-existing, environmental, or unknown.
|
|
7
|
+
3. For caused/unknown failures, form one explicit hypothesis and test the smallest causal change.
|
|
8
|
+
4. Re-run the exact failing check before broader verification.
|
|
9
|
+
5. After two failed fixes, stop stacking patches. Re-read the error, recent diff, nearest working analogue, and relevant contract from scratch.
|
|
10
|
+
6. After three distinct failed hypotheses or widening symptoms, surface the possibility of an architectural assumption being wrong before another broad edit.
|
|
11
|
+
|
|
12
|
+
Do not use package upgrades, cache deletion, lockfile deletion, disabled checks, broad rewrites, or retries-without-changes as generic repair strategies.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Routing guide
|
|
2
|
+
|
|
3
|
+
Choose the smallest set of skills that changes the quality of the work.
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
**Small**
|
|
8
|
+
- one local concern
|
|
9
|
+
- low-risk behavior
|
|
10
|
+
- known conventions and quick verification
|
|
11
|
+
|
|
12
|
+
Work inline. Exploration and a domain skill may be enough.
|
|
13
|
+
|
|
14
|
+
**Standard**
|
|
15
|
+
- behavior change
|
|
16
|
+
- two to five related files
|
|
17
|
+
- moderate uncertainty
|
|
18
|
+
- focused API/data-flow impact
|
|
19
|
+
|
|
20
|
+
Use a short plan, one process skill, relevant domain skill, and verification.
|
|
21
|
+
|
|
22
|
+
**Complex**
|
|
23
|
+
- public contracts, persistence, auth/security, payments, migrations
|
|
24
|
+
- cross-package/cross-service work
|
|
25
|
+
- major dependency change
|
|
26
|
+
- many files or difficult rollback
|
|
27
|
+
- task likely to span sessions
|
|
28
|
+
|
|
29
|
+
Add planning, impact analysis, research/architecture, and long-task state when useful.
|
|
30
|
+
|
|
31
|
+
## Process-first examples
|
|
32
|
+
|
|
33
|
+
- bug -> bug-diagnosis -> domain skill -> test-verification
|
|
34
|
+
- feature -> task-planner -> implementation/domain -> test-verification
|
|
35
|
+
- unfamiliar repo -> repo-explorer -> context-engineering if large -> domain skill
|
|
36
|
+
- API/version uncertainty -> research-verification before dependency/framework edits
|
|
37
|
+
- release readiness -> code-review + test-verification + git-safety
|
|
38
|
+
|
|
39
|
+
Avoid loading overlapping skills just because they exist. More context is not automatically better context.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Verification matrix
|
|
2
|
+
|
|
3
|
+
Use repository-native commands where available. This matrix identifies the kind of evidence to seek, not literal commands.
|
|
4
|
+
|
|
5
|
+
| Change | Minimum useful evidence | Add when risk is high |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Local pure logic | focused unit/regression test | affected suite + typecheck |
|
|
8
|
+
| UI behavior | component/interaction check + build/typecheck | accessibility + browser/device path |
|
|
9
|
+
| Public API | provider test + consumer/contract check | backward-compatibility and error-shape checks |
|
|
10
|
+
| Database/schema | migration/schema validation + affected data tests | dry-run/rollback/backup strategy |
|
|
11
|
+
| Auth/permissions | positive and negative authorization cases | threat review + session/token edge cases |
|
|
12
|
+
| Payment/idempotency | success/failure/retry/idempotency tests | reconciliation/duplicate-event checks |
|
|
13
|
+
| Dependency change | clean install/lockfile + affected build/test | release notes, peer/runtime compatibility |
|
|
14
|
+
| CI/deploy config | syntax/config validation + representative job | rollback/deployment smoke |
|
|
15
|
+
| Performance change | correctness first + representative measurement | repeated benchmark under comparable conditions |
|
|
16
|
+
| Bug fix | original reproduction fails before fix and passes after | adjacent regression suite |
|
|
17
|
+
|
|
18
|
+
A passing unrelated check does not prove the changed behavior. Match evidence to the claim.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fastapi-engineering
|
|
3
|
+
description: Work on FastAPI services including Pydantic models, dependencies, async endpoints, validation, auth, OpenAPI, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fastapi Engineering
|
|
7
|
+
|
|
8
|
+
Respect FastAPI/Pydantic versions and project patterns. Keep request/response models explicit, use dependencies consistently, avoid blocking work in async endpoints, preserve status/error conventions, and verify OpenAPI-impacting changes/tests.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# FastAPI workflow
|
|
2
|
+
|
|
3
|
+
Confirm Python, FastAPI, Pydantic and server/runtime versions because validation and serialization behavior can differ materially.
|
|
4
|
+
|
|
5
|
+
Trace route -> dependency graph -> request model -> service/data layer -> response model. Keep validation at explicit boundaries and avoid leaking ORM/internal objects accidentally.
|
|
6
|
+
|
|
7
|
+
For async routes, identify blocking database/filesystem/network calls and move or replace them appropriately. Ensure dependency lifetimes clean up sessions/resources reliably.
|
|
8
|
+
|
|
9
|
+
For auth, enforce identity and resource authorization through dependencies or service checks that cannot be bypassed by alternate routes.
|
|
10
|
+
|
|
11
|
+
Preserve status codes, error schemas and OpenAPI-visible contracts. Be deliberate about response_model filtering and nullable/default semantics.
|
|
12
|
+
|
|
13
|
+
Verification should include focused pytest/integration checks, invalid-input and unauthorized cases, OpenAPI/schema diff when contracts change, and startup/lifespan behavior when dependencies or resources changed.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file-upload-engineering
|
|
3
|
+
description: Implement file/image uploads safely: validation, storage, naming, URLs, cleanup, permissions, progress, and errors.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# File Upload Engineering
|
|
7
|
+
|
|
8
|
+
Validate type/size server-side, use safe object keys, enforce authorization/storage permissions, plan orphan cleanup and URL exposure, and handle client progress/errors. Do not trust extensions alone. Prevent path traversal and unrestricted executable uploads.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# File upload workflow
|
|
2
|
+
|
|
3
|
+
Treat filename, metadata and bytes as attacker-controlled.
|
|
4
|
+
|
|
5
|
+
Validate server-side:
|
|
6
|
+
- maximum size before unbounded buffering where possible
|
|
7
|
+
- allowed content/MIME using trusted inspection when risk warrants it, not extension alone
|
|
8
|
+
- safe generated storage keys rather than user-controlled paths
|
|
9
|
+
- authorization for upload, read and delete operations
|
|
10
|
+
- storage visibility and signed/public URL policy
|
|
11
|
+
- archive extraction paths and executable/script content where relevant
|
|
12
|
+
|
|
13
|
+
Design cleanup for abandoned multipart uploads, replaced files and failed transactions. Decide whether metadata/database state or object storage is authoritative and how partial failure is reconciled.
|
|
14
|
+
|
|
15
|
+
For image processing, bound dimensions/resource use and strip dangerous metadata when required.
|
|
16
|
+
|
|
17
|
+
Verification should test oversize, disallowed type, traversal names, duplicate/retry behavior, unauthorized access, cleanup after failure and successful download/render of a valid file.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: flutter-engineering
|
|
3
|
+
description: Work on Flutter/Dart apps including widgets, state management, navigation, async APIs, platform behavior, layout, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Flutter Engineering
|
|
7
|
+
|
|
8
|
+
Detect Flutter/Dart versions and state/navigation libraries. Follow existing widget/state architecture, keep builds lightweight, handle async states, dispose resources, respect platform differences and theme system. Verify analyzer/tests/build.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Flutter engineering workflow
|
|
2
|
+
|
|
3
|
+
Establish Flutter/Dart versions, state-management library, router/navigation approach, generated-code conventions and target platforms.
|
|
4
|
+
|
|
5
|
+
Trace widget -> state/controller/provider -> repository/API/storage -> navigation/platform boundary. Keep build methods free of expensive side effects and dispose controllers/subscriptions.
|
|
6
|
+
|
|
7
|
+
For async UI, model loading/success/empty/error explicitly, prevent stale result updates after a newer request or disposal, and preserve state across navigation only when intended.
|
|
8
|
+
|
|
9
|
+
Respect MediaQuery, safe areas, keyboard insets, text scaling and platform-specific behavior. Use stable keys where identity matters.
|
|
10
|
+
|
|
11
|
+
For native/plugin changes, verify Android/iOS minimum versions and plugin compatibility rather than changing toolchains blindly.
|
|
12
|
+
|
|
13
|
+
Verification should include dart/flutter analyze, focused widget/unit tests, the affected navigation/async interaction and platform build/smoke paths when platform-sensitive code changed.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: git-safety
|
|
3
|
+
description: Use Git safely: inspect status/diffs, preserve user work, stage intentional files, commit clearly, and avoid destructive history operations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Git Safety
|
|
7
|
+
|
|
8
|
+
Start with git status and relevant diffs. Never discard uncommitted work unless explicitly requested. Do not hard reset, clean, force push or rewrite history without explicit intent. Stage only task-related files. Avoid committing secrets/build noise. Verify before commit when practical. Never claim push success unless it happened.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Git safety workflow
|
|
2
|
+
|
|
3
|
+
Before changing history or staging, inspect branch, status, relevant diff and upstream relationship.
|
|
4
|
+
|
|
5
|
+
Rules:
|
|
6
|
+
- preserve uncommitted user work; never use reset --hard, clean, checkout/restore of user changes, force push or history rewrite without explicit intent
|
|
7
|
+
- stage only task-related paths and inspect the staged diff before committing
|
|
8
|
+
- do not commit secrets, generated noise or large binaries accidentally
|
|
9
|
+
- prefer new commits over rewriting shared history
|
|
10
|
+
- when resolving conflicts, understand both sides before choosing content
|
|
11
|
+
- distinguish local success from remote success; verify push/PR state instead of assuming it
|
|
12
|
+
|
|
13
|
+
For release/tag work, confirm the exact commit being tagged and version consistency first. For branch deletion, verify the work is merged or otherwise recoverable.
|
|
14
|
+
|
|
15
|
+
Verification should include git status, the final diff/staged diff, current branch/HEAD and remote result when a remote operation was actually requested.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-engineer
|
|
3
|
+
description: Implement features and refactors carefully while preserving architecture, compatibility, types, validation, tests, and conventions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Implementation Engineer
|
|
7
|
+
|
|
8
|
+
Read relevant code first. Make the smallest coherent implementation. Reuse existing abstractions. Update coupled types, validation, APIs, UI state, tests and docs/config only when required. Handle relevant edge cases. Re-read the diff and run verification. No placeholders presented as complete; no fabricated results; no unrelated cleanup.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Implementation workflow
|
|
2
|
+
|
|
3
|
+
Start from observable acceptance criteria and the smallest repository-compatible design.
|
|
4
|
+
|
|
5
|
+
Before editing:
|
|
6
|
+
- identify the real entry point, nearest working analogue and direct callers/consumers
|
|
7
|
+
- map public contracts, persisted state and validation touched by the change
|
|
8
|
+
- choose the smallest coherent file set and define how behavior will be proven
|
|
9
|
+
|
|
10
|
+
During implementation, preserve existing abstractions unless they are the cause of the problem. Update coupled types, validation, serialization, UI states, tests and docs only where the changed contract requires them. Handle failure paths and cleanup alongside the happy path.
|
|
11
|
+
|
|
12
|
+
Avoid placeholder logic, silent catch-all fallbacks and speculative refactors.
|
|
13
|
+
|
|
14
|
+
After each meaningful increment, run the narrowest behavior-matched check. Before completion, inspect the full diff, re-run acceptance behavior, check accidental files and use independent review/critic for substantial or risky changes.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: java-spring-engineering
|
|
3
|
+
description: Work on Java/Spring Boot including controllers, services, repositories, validation, transactions, security, JPA, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Java Spring Engineering
|
|
7
|
+
|
|
8
|
+
Detect Java/Spring versions and build tool. Respect constructor injection, transactions, validation, exception mapping, Spring Security, JPA fetch/cascade semantics and project DTO/entity conventions. Verify Maven/Gradle tests/build.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Java / Spring workflow
|
|
2
|
+
|
|
3
|
+
Establish Java version, Spring Boot version, Maven/Gradle setup, active profiles and persistence/security conventions.
|
|
4
|
+
|
|
5
|
+
Trace controller -> validation -> service/domain -> transaction -> repository/external I/O -> response. Keep controllers thin and transaction boundaries aligned with invariants rather than convenience.
|
|
6
|
+
|
|
7
|
+
For JPA, inspect fetch type, cascades, ownership, orphan behavior, query count, locking/concurrency and entity/DTO boundaries. Avoid exposing mutable persistence entities as public contracts when the project uses DTOs.
|
|
8
|
+
|
|
9
|
+
For Spring Security, verify authentication plus role/tenant/resource authorization and method/filter ordering. Include negative cases.
|
|
10
|
+
|
|
11
|
+
For migrations, inspect Flyway/Liquibase ordering and mixed-version compatibility.
|
|
12
|
+
|
|
13
|
+
Verification should include focused tests, Maven/Gradle build, relevant integration/security cases, generated SQL/query behavior where needed and startup/profile configuration when wiring changed.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: long-task-state
|
|
3
|
+
description: Preserve confirmed facts, assumptions, rejected hypotheses, decisions, progress, blockers, next actions, and verification for large or interruptible engineering tasks so work resumes without reconstructing or repeating reasoning.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Long Task State
|
|
7
|
+
|
|
8
|
+
Use for work likely to span many steps, context compaction, or multiple sessions.
|
|
9
|
+
|
|
10
|
+
Prefer session-native task tracking for ordinary work. For an explicitly requested long-horizon run (for example `/ues-run`), use the deterministic `.ues-work/<slug>/` workspace managed by `ocskill work`. For ad-hoc persistence outside that explicit workflow, ask before adding repository-level state.
|
|
11
|
+
|
|
12
|
+
The V6 long-horizon workspace keeps `SPEC.md`, `PLAN.json`, `STATE.json`, `EVIDENCE.json`, task briefs, and reports. For smaller persistent notes that do not need task execution state, the concise [STATE.md](templates/STATE.md) ledger remains suitable.
|
|
13
|
+
|
|
14
|
+
Update it only at meaningful boundaries:
|
|
15
|
+
- acceptance criteria changed
|
|
16
|
+
- a fact or assumption materially changed the plan
|
|
17
|
+
- a hypothesis was disproved
|
|
18
|
+
- an architecture/implementation decision was made
|
|
19
|
+
- a work unit completed
|
|
20
|
+
- verification produced new evidence
|
|
21
|
+
- a blocker or risk appeared
|
|
22
|
+
- the next resumable action changed
|
|
23
|
+
|
|
24
|
+
Read [context-ledger.md](references/context-ledger.md) for the distinction between confirmed facts, assumptions, rejected hypotheses, and decisions.
|
|
25
|
+
|
|
26
|
+
On resume, read the state file plus current Git diff/status before acting. Revalidate assumptions that may have gone stale. Treat recorded success as historical evidence; rerun verification when a fresh completion claim depends on it.
|
|
27
|
+
|
|
28
|
+
Do not store secrets, hidden chain-of-thought, raw logs, or large copied source files in task state. Store concise evidence and decisions that another session can act on.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Context ledger
|
|
2
|
+
|
|
3
|
+
For long, complex, or interruption-prone work, preserve reasoning state compactly instead of preserving the whole conversation.
|
|
4
|
+
|
|
5
|
+
Track four different kinds of knowledge:
|
|
6
|
+
|
|
7
|
+
## Confirmed facts
|
|
8
|
+
Repository or runtime facts with evidence, such as paths, symbols, commands, outputs, versions, and contracts.
|
|
9
|
+
|
|
10
|
+
## Assumptions
|
|
11
|
+
Claims currently used for planning that are not yet proven. Include confidence and the cheapest way to verify each one.
|
|
12
|
+
|
|
13
|
+
## Rejected hypotheses
|
|
14
|
+
Failed debugging or design hypotheses and the evidence that rejected them. This prevents a resumed session from retrying already-disproved ideas.
|
|
15
|
+
|
|
16
|
+
## Decisions
|
|
17
|
+
Chosen implementation/architecture decisions, material alternatives considered, and the evidence or constraint that justified the choice.
|
|
18
|
+
|
|
19
|
+
Also keep:
|
|
20
|
+
- acceptance criteria and their current status
|
|
21
|
+
- a compact producer/consumer or boundary map when cross-module behavior matters
|
|
22
|
+
- changed files and why they changed
|
|
23
|
+
- fresh verification evidence with timestamps or run order
|
|
24
|
+
- unresolved risks/blockers
|
|
25
|
+
- exactly one resumable next action
|
|
26
|
+
|
|
27
|
+
Keep the ledger concise. Link to files and commands rather than copying source or raw logs. Historical verification is context, not proof for a new completion claim; rerun checks when freshness matters.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# UES Task State
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Describe the requested outcome in one paragraph.
|
|
6
|
+
|
|
7
|
+
## Acceptance criteria
|
|
8
|
+
|
|
9
|
+
- [ ] Observable requirement and current status.
|
|
10
|
+
|
|
11
|
+
## Confirmed facts
|
|
12
|
+
|
|
13
|
+
- Fact — evidence: path/symbol/command/output.
|
|
14
|
+
|
|
15
|
+
## Assumptions
|
|
16
|
+
|
|
17
|
+
- Assumption — confidence: low/medium/high — verify by: cheapest concrete check.
|
|
18
|
+
|
|
19
|
+
## System map
|
|
20
|
+
|
|
21
|
+
- Entry point:
|
|
22
|
+
- Producers:
|
|
23
|
+
- Consumers:
|
|
24
|
+
- Contracts / persisted state:
|
|
25
|
+
|
|
26
|
+
## Decisions
|
|
27
|
+
|
|
28
|
+
- Decision — reason/evidence — alternatives rejected if material.
|
|
29
|
+
|
|
30
|
+
## Rejected hypotheses
|
|
31
|
+
|
|
32
|
+
- Hypothesis — evidence that disproved it.
|
|
33
|
+
|
|
34
|
+
## Changed files
|
|
35
|
+
|
|
36
|
+
- Path — why it changed.
|
|
37
|
+
|
|
38
|
+
## Verification evidence
|
|
39
|
+
|
|
40
|
+
- Check/command — result — run order/time if useful.
|
|
41
|
+
|
|
42
|
+
## Blockers / risks
|
|
43
|
+
|
|
44
|
+
- Current blocker, unresolved critic finding, or known risk.
|
|
45
|
+
|
|
46
|
+
## Next action
|
|
47
|
+
|
|
48
|
+
Exactly one concrete resumable next step.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nestjs-engineering
|
|
3
|
+
description: Work on NestJS apps: modules, controllers, providers, DTO validation, guards, interceptors, persistence, and tests.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Nestjs Engineering
|
|
7
|
+
|
|
8
|
+
Respect module boundaries and DI. Keep controllers thin and business rules in existing services/domain layers. Use DTO validation consistently. Enforce auth with guards/policies. Preserve exception/response conventions and OpenAPI patterns if present.
|
|
9
|
+
|
|
10
|
+
Read [workflow.md](references/workflow.md) when the task reaches domain-specific behavior, compatibility, failure, or verification boundaries.
|