Move the standard library (previously `github.com/openprose/std`) and
the company-as-prose library (previously local dir
`/Users/sl/code/openprose/company-as-prose`) into this repository
under `packages/std/` and `packages/co/` respectively.
Motivation: concentrate attention on one repository so stars,
discussions, and issues aggregate. `openprose/std` was a genuinely
useful asset nobody could find because ~50 stars on its own repo
told a much worse story than 1,106 stars on `openprose/prose`
would have. Same logic applies to co.
Layout choice: `packages/{std,co}/` rather than `std/` + `co/` at
the repo root. Root siblings accumulate over time, and a flat
top-level made future libraries (hub, kit, dev, etc.) compete with
spec infrastructure. `packages/` is bounded — new libraries land
there without cluttering root. Matches pnpm/Deno/monorepo tooling
conventions.
Changes:
- New: `packages/std/` (copied from openprose/std, `.git` excluded)
- New: `packages/co/` (copied from company-as-prose, README updated
for new name and location)
- `packages/std/README.md`: updated shorthand expansion reference
- `packages/co/README.md`: renamed "company-as-prose" to "co" in
self-references, added std-vs-co split heuristic, updated
`prose run` examples to use `co/` shorthand
- `skills/open-prose/deps.md`:
- `std/` shorthand now expands to
`github.com/openprose/prose/packages/std/`
- `co/` shorthand added, expands to
`github.com/openprose/prose/packages/co/`
- Both shorthands resolve into the same clone of
`openprose/prose` under `.deps/github.com/openprose/prose/`;
`packages/std/` and `packages/co/` are sibling subdirectories
- `prose.lock` format row updated to `host/owner/repo sha`
(matches the explicit-host resolution that landed in #35)
- `.deps/` directory structure example redrawn to show the
`{host}/{owner}/{repo}/packages/{std,co}/...` shape
- Error message and Interaction tables refreshed accordingly
- Resolution Algorithm step 1 now documents both shorthands
- `skills/open-prose/forme.md`: Step 2 resolution list updated to
include co/ shorthand and the host-keyed `.deps/` layout
- `skills/open-prose/help.md`: Q&A "How do dependencies work?"
rewritten to name both shorthands and the new explicit-host model
- `skills/open-prose/state/filesystem.md`: `.deps/` directory
tree re-drawn to include the `{host}/` layer with std/co as
sibling packages inside the clone
- `skills/open-prose/guidance/patterns.md`,
`skills/open-prose/guidance/antipatterns.md`: examples now use
the `std/` shorthand or explicit `github.com/...` rather than
the deprecated bare `openprose/std/` form
- `skills/open-prose/examples/registry-import/index.md`: sample
service reference switched to `std/evals/inspector`
- `README.md`: Stdlib badge replaced with internal `packages/std/`
link plus new `packages/co/` link; "Standard Library" section
rewritten as "Libraries" with both packages described
Out of scope for this PR (deliberately):
- Tooling changes to `prose install` and Forme's `.deps/` writer
to adopt the `{host}/{owner}/{repo}/` layout in practice — this
PR is spec-only. Existing tooling continues to work against
whatever layout it currently implements; the spec now describes
the target.
- Retiring the `openprose/std` GitHub repo. Delete that repo
separately after this merges.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
name, kind
| name | kind |
|---|---|
| verifier | service |
Verifier
Check a work product against formal, objective constraints and report which checks passed and which were violated. Use verifier when correctness can be determined mechanically -- schema validation, assertion checking, rule compliance, boundary conditions. Distinct from critic, which renders subjective quality judgments.
Description
Check a result against formal constraints and report pass/fail for each.
Metadata
version: 0.1.0
Requires
- result: the work product to verify
- constraints: formal rules the result must satisfy (as executable assertions, declarative rules, a schema, or a checklist of objective conditions)
Ensures
- verification: a structured result containing:
- valid: true if all constraints pass, false if any are violated
- violations: list of failed checks, each stating which constraint failed, what the actual value was, and what was expected
- checks_passed: list of constraints that were satisfied
- every constraint appears in either checks_passed or violations -- none are skipped
Errors
- unparseable-constraints: the constraints cannot be interpreted as checkable conditions
- inaccessible-result: the result is missing, empty, or in a format that cannot be inspected
Strategies
- when constraints are executable: write and run code to test assertions rather than reasoning about them
- when constraints are semantic: reason carefully and report with lower confidence, noting that the check was not mechanically verified
- when a constraint is ambiguous: check the most restrictive interpretation and note the ambiguity
- when many constraints exist: check all of them and report the full results, not just the first failure
Notes
Verifier checks formal correctness. Critic evaluates subjective quality. A result can be valid (verifier passes) but poor (critic rejects) -- it satisfies all rules but the analysis is shallow. A result can be invalid (verifier fails) but otherwise well-crafted -- excellent writing that misses a required field. Use verifier for "does this satisfy the rules?" and critic for "is this good?"