Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
fef54f7
feat: inject sorted git diff into broad review rule prompts
nhorton Apr 1, 2026
ef01c0a
Merge branch 'main' of https://github.com/Unsupervisedcom/deepwork
nhorton Apr 1, 2026
a3a5cbe
feat: teach learn workflow to create deepschemas and deepreview rules
nhorton Apr 1, 2026
d3d07e5
feat: add claude_settings deepschema and enforce JSON-schema-first re…
nhorton Apr 1, 2026
840fe0e
docs: update architecture.md to reflect learn workflow's preventive a…
nhorton Apr 1, 2026
fccb5a2
refactor: move knowledge-based deepschema requirements to instructions
nhorton Apr 1, 2026
9ebe600
style: fix ruff formatting in review/instructions.py
nhorton Apr 2, 2026
fc2f5fd
feat: add requirements_file standard schema, specs, and review improv…
nhorton Apr 2, 2026
07ea90e
revert: restore REVIEW-REQ-005.7 to original position (pre-existing o…
nhorton Apr 2, 2026
d5e5075
test: verify named and anonymous schemas both apply to same file
nhorton Apr 2, 2026
d331357
Apply suggestion from @nhorton
nhorton Apr 2, 2026
768e5e7
refactor: promote claude_settings deepschema to standard schema
nhorton Apr 2, 2026
40232c2
docs: add verification_bash_command guidance to deepschema SKILL.md
nhorton Apr 2, 2026
28e50bc
revert: drop ruff formatting change to instructions.py
nhorton Apr 2, 2026
b995a1c
revert: remove git_diff injection for broad review rules
nhorton Apr 2, 2026
cd4bd68
fix: add --plugin-dir to CI claude invocations for DeepSchema validation
nhorton Apr 2, 2026
5e181d1
Merge branch 'main' into feat/learn-prevention-automation
nhorton Apr 3, 2026
26ed434
fix: resolve dual MCP server conflict in e2e CI and bump max turns to 25
nhorton Apr 3, 2026
be9c2ba
fix: remove stale ls of skills dir in CI setup
nhorton Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 26 additions & 21 deletions .deepreview
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,33 @@ requirements_traceability:
false confidence (a passing test that doesn't actually verify anything)
or wastes reviewer judgment on something a machine can check exactly.

**Use anonymous DeepSchemas** (`.deepschema.<filename>.yml`) when
requirements target a specific file — whether structural or semantic:
- "This config file MUST include a timeout field" — structural check
for one file (use `json_schema_path` or `verification_bash_command`
for exact verification)
- "The learn workflow MUST accept X and Y step arguments" — the
requirement governs a specific YAML file's content
- "Skill MUST instruct the agent to do X" — judgment-based check
of prose in one specific file
- "The error message MUST include a suggestion for how to fix the
problem" — governs a specific source file's behavior

Anonymous DeepSchemas provide both write-time validation and review-time
checks, and they keep the requirement co-located with the file it governs.
**Prefer them over both tests and `.deepreview` rules whenever the
requirement targets a specific file** rather than a class of files.
DeepSchemas can enforce structural requirements via `json_schema_path`
or `verification_bash_command` just as precisely as a test, while also
supporting judgment-based requirements in the same schema.

**Use automated tests** (`tests/`) when the requirement specifies a
concrete, machine-verifiable fact:
- File exists at a specific path
- JSON/YAML field has a specific value
- Config contains a specific identifier (e.g., `mcp__deepwork__get_review_instructions`)
concrete, machine-verifiable fact that spans multiple files or is not
tied to a single file's content:
- File A is byte-identical to file B
- A data structure has a required shape
- A Python function returns the correct value for given inputs
- A CLI command produces expected output
- A data structure assembled from multiple sources has a required shape

Tests reference requirement IDs via docstrings and traceability comments.

Expand All @@ -150,21 +170,6 @@ requirements_traceability:
- "Documentation MUST stay in sync with code" — are the descriptions
still accurate after changes?

**Use anonymous DeepSchemas** (`.deepschema.<filename>.yml`) when the
requirement is specific to a single file's behavior or content:
- "The error message in situation X MUST include a suggestion for how
to fix the problem" — place the requirement in a `.deepschema` for
the file that implements that functionality
- "This config file MUST include a timeout field" — a structural
requirement for one specific file
- "Skill MUST instruct the agent to do X" — does the prose in this
specific skill file convey X clearly enough?

Anonymous DeepSchemas provide both write-time validation and review-time
checks, and they keep the requirement co-located with the file it governs.
Prefer them over `.deepreview` rules whenever the requirement targets a
specific file rather than a class of files.

Both `.deepreview` rules and DeepSchemas reference requirement IDs in
their `description`, `instructions`, or `requirements` fields.

Expand Down Expand Up @@ -456,7 +461,7 @@ deepreview_config_quality:
and a specific recommendation.

job_schema_instruction_compatibility:
description: "Verify deepwork_jobs job.yml inline instructions are compatible with the job schema."
description: "Verify all standard and library job.yml definitions and templates are compatible with the job schema."
match:
include:
- "src/deepwork/jobs/job.schema.json"
Expand Down
Loading
Loading