@agentsfleet/orly 0.5.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/.githooks/pre-commit +42 -0
- package/.githooks/pre-push +67 -0
- package/AGENTS.md +348 -0
- package/LICENSE +21 -0
- package/README.md +249 -0
- package/SOUL.md +90 -0
- package/audits/agents-md.md +497 -0
- package/audits/agents-md.sh +353 -0
- package/audits/cross-tier-rates.sh +105 -0
- package/audits/data.sh +185 -0
- package/audits/deinit-pairs.sh +224 -0
- package/audits/design-tokens.sh +143 -0
- package/audits/doc-read.sh +183 -0
- package/audits/error-codes.sh +221 -0
- package/audits/fixtures/clean.diff +15 -0
- package/audits/fixtures/dirty.diff +16 -0
- package/audits/lifecycle-anchors.sh +22 -0
- package/audits/logging.sh +217 -0
- package/audits/msid-ui.sh +144 -0
- package/audits/parity-dispatch.sh +51 -0
- package/audits/rule-ledger-lib.sh +264 -0
- package/audits/rule-ledger.sh +225 -0
- package/audits/rule-paths.sh +108 -0
- package/audits/spec-template.sh +258 -0
- package/audits/sql-mod.sh +102 -0
- package/audits/ufs.sh +303 -0
- package/bin/orly +26 -0
- package/core/operating-model.md +256 -0
- package/dispatch/edit_rules.md +69 -0
- package/dispatch/lib.sh +213 -0
- package/dispatch/lifecycle.md +187 -0
- package/dispatch/name_architecture.md +93 -0
- package/dispatch/verify.md +111 -0
- package/dispatch/write_any.md +740 -0
- package/dispatch/write_any.sh +49 -0
- package/dispatch/write_auth.md +36 -0
- package/dispatch/write_changelog.md +64 -0
- package/dispatch/write_documentation.md +45 -0
- package/dispatch/write_go.md +24 -0
- package/dispatch/write_http.md +45 -0
- package/dispatch/write_mdx.md +7 -0
- package/dispatch/write_python.md +8 -0
- package/dispatch/write_rust.md +38 -0
- package/dispatch/write_shell.md +8 -0
- package/dispatch/write_spec.md +105 -0
- package/dispatch/write_sql.md +112 -0
- package/dispatch/write_sql.sh +36 -0
- package/dispatch/write_ts_adhere_bun.md +493 -0
- package/dispatch/write_ts_adhere_bun.sh +37 -0
- package/dispatch/write_zig.md +852 -0
- package/dispatch/write_zig.sh +40 -0
- package/docs/CHANGELOG_VOICE.md +18 -0
- package/docs/DISPATCH_ARCHITECTURE.md +664 -0
- package/docs/DISPATCH_REVIEW_DISPOSITION.md +65 -0
- package/docs/DOCUMENTATION_RULES.md +209 -0
- package/docs/EXECUTE_DOC_READS.md +29 -0
- package/docs/HARNESS_VERIFY_OUTPUT.md +40 -0
- package/docs/LIFECYCLE_PATTERNS.md +316 -0
- package/docs/LOGGING_STANDARD.md +397 -0
- package/docs/ORLY_ARCHITECTURE.md +129 -0
- package/docs/REST_API_DESIGN_GUIDELINES.md +783 -0
- package/docs/RULE_ENFORCEMENT.md +41 -0
- package/docs/SCHEMA_CONVENTIONS.md +93 -0
- package/docs/TEMPLATE.md +411 -0
- package/docs/VERIFY_TIERS.md +57 -0
- package/docs/greptile-learnings/README.md +51 -0
- package/docs/greptile-learnings/RULES.md +1045 -0
- package/fixtures/registry-invalid.json +1 -0
- package/fixtures/registry-valid.json +18 -0
- package/fixtures/unclosed-pack-block.md +8 -0
- package/package.json +63 -0
- package/packs/language/go/rules.md +24 -0
- package/packs/language/mdx/rules.md +7 -0
- package/packs/language/python/rules.md +8 -0
- package/packs/language/rust/rules.md +38 -0
- package/packs/language/shell/rules.md +8 -0
- package/registry.json +405 -0
- package/schemas/evidence.schema.json +43 -0
- package/schemas/profile.schema.json +12 -0
- package/schemas/registry.schema.json +12 -0
- package/skills/orly-babysit-prs/SKILL.md +326 -0
- package/skills/orly-spec-new/SKILL.md +157 -0
- package/skills/orly-write-integration-test/SKILL.md +470 -0
- package/skills/orly-write-unit-test/SKILL.md +520 -0
- package/src/cli.test.ts +70 -0
- package/src/cli.ts +287 -0
- package/src/config.test.ts +226 -0
- package/src/config.ts +288 -0
- package/src/criteria.test.ts +137 -0
- package/src/criteria.ts +166 -0
- package/src/criteria_spec.ts +127 -0
- package/src/criteria_support.ts +53 -0
- package/src/gates.test.ts +183 -0
- package/src/gates.ts +169 -0
- package/src/gates_spec.test.ts +98 -0
- package/src/gates_test_support.ts +194 -0
- package/src/git_env.ts +20 -0
- package/src/install.test.ts +514 -0
- package/src/install.ts +447 -0
- package/src/install_nested.test.ts +32 -0
- package/src/model.test.ts +31 -0
- package/src/model.ts +245 -0
- package/src/references.test.ts +47 -0
- package/src/references.ts +147 -0
- package/src/render.test.ts +60 -0
- package/src/render.ts +94 -0
- package/src/surfaces.test.ts +43 -0
- package/src/surfaces.ts +89 -0
- package/src/validation.test.ts +11 -0
- package/src/validation.ts +87 -0
- package/src/verify.test.ts +13 -0
- package/src/verify.ts +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schema_version": 0}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"core_documents": ["core/operating-model.md"],
|
|
4
|
+
"packs": {
|
|
5
|
+
"fixture": {
|
|
6
|
+
"extensions": [],
|
|
7
|
+
"managed_files": []
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"rules": [
|
|
11
|
+
{
|
|
12
|
+
"key": "fixture.judgment",
|
|
13
|
+
"state": "active",
|
|
14
|
+
"decision": "judgment",
|
|
15
|
+
"pack": "fixture"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Fixture: unclosed pack block
|
|
2
|
+
|
|
3
|
+
This document opens a pack block and never closes it. the render must
|
|
4
|
+
throw ("unclosed orly pack block") — the fail fixture for
|
|
5
|
+
governance.render.stable.
|
|
6
|
+
|
|
7
|
+
<!-- oracle-packs:start language.zig -->
|
|
8
|
+
Zig-only prose that never ends.
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agentsfleet/orly",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Repository-scoped engineering harness: renders agent rules, materialises the gates that enforce them, and proves the PR boundary — for any coding agent.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"test": "bun test src",
|
|
9
|
+
"typecheck": "tsc --noEmit"
|
|
10
|
+
},
|
|
11
|
+
"bin": {
|
|
12
|
+
"orly": "bin/orly"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/agentsfleet/orly.git"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/agentsfleet/orly#readme",
|
|
19
|
+
"bugs": {
|
|
20
|
+
"url": "https://github.com/agentsfleet/orly/issues"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"agents",
|
|
24
|
+
"coding-agent",
|
|
25
|
+
"governance",
|
|
26
|
+
"git-hooks",
|
|
27
|
+
"lint",
|
|
28
|
+
"claude",
|
|
29
|
+
"codex",
|
|
30
|
+
"opencode",
|
|
31
|
+
"amp"
|
|
32
|
+
],
|
|
33
|
+
"engines": {
|
|
34
|
+
"bun": ">=1.4.0"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"bin/orly",
|
|
38
|
+
".githooks/",
|
|
39
|
+
"dispatch/",
|
|
40
|
+
"audits/",
|
|
41
|
+
"docs/*.md",
|
|
42
|
+
"docs/greptile-learnings/",
|
|
43
|
+
"skills/orly-write-unit-test/",
|
|
44
|
+
"skills/orly-write-integration-test/",
|
|
45
|
+
"skills/orly-spec-new/",
|
|
46
|
+
"skills/orly-babysit-prs/",
|
|
47
|
+
"core/",
|
|
48
|
+
"packs/",
|
|
49
|
+
"schemas/",
|
|
50
|
+
"fixtures/",
|
|
51
|
+
"src/",
|
|
52
|
+
"registry.json",
|
|
53
|
+
"AGENTS.md",
|
|
54
|
+
"SOUL.md"
|
|
55
|
+
],
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/bun": "1.4.0",
|
|
61
|
+
"typescript": "7.0.2"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Go authoring
|
|
2
|
+
|
|
3
|
+
Return errors, do not panic across a package boundary. Wrap with `%w` so the
|
|
4
|
+
caller can still match the cause, and add context the caller does not already
|
|
5
|
+
have — never re-wrap the same fact twice.
|
|
6
|
+
|
|
7
|
+
Every goroutine needs a stated exit: a `context.Context` it honours, a channel
|
|
8
|
+
close, or a `WaitGroup` the caller waits on. A goroutine with no exit path is a
|
|
9
|
+
leak whatever the test says. Take a `context.Context` as the first parameter on
|
|
10
|
+
anything that blocks, and pass it down rather than storing it in a struct.
|
|
11
|
+
|
|
12
|
+
Defer the release beside the acquire — `defer file.Close()`, `defer mu.Unlock()`
|
|
13
|
+
— so the pairing survives an early return. Check the error from a deferred
|
|
14
|
+
`Close` on a writer; a dropped flush is a silent truncation.
|
|
15
|
+
|
|
16
|
+
Accept interfaces, return structs, and define the interface where it is
|
|
17
|
+
consumed. Keep zero values usable so a caller need not call a constructor to get
|
|
18
|
+
a working value.
|
|
19
|
+
|
|
20
|
+
Table-driven tests are the default shape. Concurrency work needs a `-race` run,
|
|
21
|
+
and a deterministic contention test rather than a sleep.
|
|
22
|
+
|
|
23
|
+
The repository owns formatting, vet, lint, build, and test commands — it
|
|
24
|
+
declares them in `.oracle/orly.json`.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Markdown JSX authoring
|
|
2
|
+
|
|
3
|
+
Treat Markdown JSX (MDX) as a language, not generic prose. Validate front matter,
|
|
4
|
+
component nesting, links, code fences, and accessible image descriptions.
|
|
5
|
+
|
|
6
|
+
Mintlify behavior belongs to the Mintlify domain pack. An MDX repository that
|
|
7
|
+
does not use Mintlify must not receive Mintlify-specific rules.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Python authoring
|
|
2
|
+
|
|
3
|
+
Use standard-library parsers for structured input. Keep resource ownership in
|
|
4
|
+
context managers. Validate data at parse boundaries and preserve specific
|
|
5
|
+
exception classes until the caller can decide how to respond.
|
|
6
|
+
|
|
7
|
+
The repository owns formatting, linting, type checking, and tests — it declares
|
|
8
|
+
them in `.oracle/orly.json`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Rust authoring
|
|
2
|
+
|
|
3
|
+
Use ownership and borrowing to make resource lifetime visible. Keep `unsafe`
|
|
4
|
+
blocks small and state the invariant they rely on. Preserve error variants until
|
|
5
|
+
the caller has enough information to decide whether to retry or stop.
|
|
6
|
+
|
|
7
|
+
Test the feature combinations the repository actually builds. Concurrency work
|
|
8
|
+
needs a deterministic contention test, not only a happy-path asynchronous test.
|
|
9
|
+
|
|
10
|
+
The repository owns formatting, Clippy, build, test, security, and benchmark
|
|
11
|
+
commands — it declares them in `.oracle/orly.json`.
|
|
12
|
+
|
|
13
|
+
## Reference guideline (mandatory in review)
|
|
14
|
+
|
|
15
|
+
Microsoft's Pragmatic Rust Guidelines are this pack's depth — thorough,
|
|
16
|
+
agent-facing, and continuously maintained upstream. The local copy lives at
|
|
17
|
+
`~/Projects/oss/rust-guidelines/all.txt`; fetch it when absent:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
mkdir -p ~/Projects/oss/rust-guidelines && \
|
|
21
|
+
curl -fsSL https://microsoft.github.io/rust-guidelines/agents/all.txt \
|
|
22
|
+
-o ~/Projects/oss/rust-guidelines/all.txt
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Every Rust REVIEW — and any adversarial pass over `*.rs` — reads it
|
|
26
|
+
**sectioned, never whole-file** (186 sections):
|
|
27
|
+
`grep -nE "^#+ " ~/Projects/oss/rust-guidelines/all.txt`, read the sections
|
|
28
|
+
the diff touches, and cite the guideline IDs (`M-…` mnemonics, e.g.
|
|
29
|
+
`M-UNSOUND`, `M-SIMPLE-ABSTRACTIONS`) applied or consciously diverged from.
|
|
30
|
+
Local convention wins on conflict, but the divergence is named in the review
|
|
31
|
+
output. Refresh the copy when the user asks or a cited rule looks stale
|
|
32
|
+
(re-run the fetch; upstream updates continuously).
|
|
33
|
+
|
|
34
|
+
## Evolution
|
|
35
|
+
|
|
36
|
+
This pack is young next to the Zig façade and grows the same way: a Rust
|
|
37
|
+
incident worth keeping becomes a rule or **Example:** line via the
|
|
38
|
+
rule-extension protocol — never a memory file, never a milestone cite.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Shell authoring
|
|
2
|
+
|
|
3
|
+
Quote expansions, use arrays for argument lists, and clean temporary files on
|
|
4
|
+
every exit path. Avoid `eval` for external input. Match the repository's required
|
|
5
|
+
shell and macOS Bash compatibility level.
|
|
6
|
+
|
|
7
|
+
The repository owns ShellCheck and executable tests — it declares them in
|
|
8
|
+
`.oracle/orly.json`.
|
package/registry.json
ADDED
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"core_documents": [
|
|
4
|
+
"core/operating-model.md",
|
|
5
|
+
"SOUL.md"
|
|
6
|
+
],
|
|
7
|
+
"packs": {
|
|
8
|
+
"persona.indy": {
|
|
9
|
+
"extensions": [],
|
|
10
|
+
"managed_files": []
|
|
11
|
+
},
|
|
12
|
+
"universal.authoring": {
|
|
13
|
+
"extensions": [],
|
|
14
|
+
"managed_files": [
|
|
15
|
+
{
|
|
16
|
+
"source": "dispatch/write_any.md",
|
|
17
|
+
"target": "dispatch/write_any.md"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"source": "dispatch/write_any.sh",
|
|
21
|
+
"target": "dispatch/write_any.sh"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"source": "dispatch/lib.sh",
|
|
25
|
+
"target": "dispatch/lib.sh"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "dispatch/lifecycle.md",
|
|
29
|
+
"target": "dispatch/lifecycle.md"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"source": "dispatch/name_architecture.md",
|
|
33
|
+
"target": "dispatch/name_architecture.md"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "audits/ufs.sh",
|
|
37
|
+
"target": "audits/ufs.sh"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"source": "audits/logging.sh",
|
|
41
|
+
"target": "audits/logging.sh"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"source": "audits/msid-ui.sh",
|
|
45
|
+
"target": "audits/msid-ui.sh"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"source": "docs/greptile-learnings/RULES.md",
|
|
49
|
+
"target": "docs/greptile-learnings/RULES.md"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"language.zig": {
|
|
54
|
+
"extensions": [
|
|
55
|
+
".zig"
|
|
56
|
+
],
|
|
57
|
+
"managed_files": [
|
|
58
|
+
{
|
|
59
|
+
"source": "dispatch/write_zig.md",
|
|
60
|
+
"target": "dispatch/write_zig.md"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"source": "dispatch/write_zig.sh",
|
|
64
|
+
"target": "dispatch/write_zig.sh"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"source": "audits/deinit-pairs.sh",
|
|
68
|
+
"target": "audits/deinit-pairs.sh"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"source": "audits/sql-mod.sh",
|
|
72
|
+
"target": "audits/sql-mod.sh"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"source": "docs/LIFECYCLE_PATTERNS.md",
|
|
76
|
+
"target": "docs/LIFECYCLE_PATTERNS.md"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"language.typescript": {
|
|
81
|
+
"extensions": [
|
|
82
|
+
".ts",
|
|
83
|
+
".tsx"
|
|
84
|
+
],
|
|
85
|
+
"managed_files": [
|
|
86
|
+
{
|
|
87
|
+
"source": "dispatch/write_ts_adhere_bun.md",
|
|
88
|
+
"target": "dispatch/write_ts_adhere_bun.md"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"source": "dispatch/write_ts_adhere_bun.sh",
|
|
92
|
+
"target": "dispatch/write_ts_adhere_bun.sh"
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"language.javascript": {
|
|
97
|
+
"extensions": [
|
|
98
|
+
".js",
|
|
99
|
+
".jsx"
|
|
100
|
+
],
|
|
101
|
+
"managed_files": [
|
|
102
|
+
{
|
|
103
|
+
"source": "dispatch/write_ts_adhere_bun.md",
|
|
104
|
+
"target": "dispatch/write_ts_adhere_bun.md"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"source": "dispatch/write_ts_adhere_bun.sh",
|
|
108
|
+
"target": "dispatch/write_ts_adhere_bun.sh"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"language.rust": {
|
|
113
|
+
"extensions": [
|
|
114
|
+
".rs"
|
|
115
|
+
],
|
|
116
|
+
"managed_files": [
|
|
117
|
+
{
|
|
118
|
+
"source": "packs/language/rust/rules.md",
|
|
119
|
+
"target": "dispatch/write_rust.md"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"language.go": {
|
|
124
|
+
"extensions": [
|
|
125
|
+
".go"
|
|
126
|
+
],
|
|
127
|
+
"managed_files": [
|
|
128
|
+
{
|
|
129
|
+
"source": "packs/language/go/rules.md",
|
|
130
|
+
"target": "dispatch/write_go.md"
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"language.python": {
|
|
135
|
+
"extensions": [
|
|
136
|
+
".py"
|
|
137
|
+
],
|
|
138
|
+
"managed_files": [
|
|
139
|
+
{
|
|
140
|
+
"source": "packs/language/python/rules.md",
|
|
141
|
+
"target": "dispatch/write_python.md"
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"language.shell": {
|
|
146
|
+
"extensions": [
|
|
147
|
+
".sh"
|
|
148
|
+
],
|
|
149
|
+
"managed_files": [
|
|
150
|
+
{
|
|
151
|
+
"source": "packs/language/shell/rules.md",
|
|
152
|
+
"target": "dispatch/write_shell.md"
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
"language.mdx": {
|
|
157
|
+
"extensions": [
|
|
158
|
+
".mdx"
|
|
159
|
+
],
|
|
160
|
+
"managed_files": [
|
|
161
|
+
{
|
|
162
|
+
"source": "packs/language/mdx/rules.md",
|
|
163
|
+
"target": "dispatch/write_mdx.md"
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
"domain.sql": {
|
|
168
|
+
"extensions": [
|
|
169
|
+
".sql"
|
|
170
|
+
],
|
|
171
|
+
"managed_files": [
|
|
172
|
+
{
|
|
173
|
+
"source": "dispatch/write_sql.md",
|
|
174
|
+
"target": "dispatch/write_sql.md"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"source": "dispatch/write_sql.sh",
|
|
178
|
+
"target": "dispatch/write_sql.sh"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"source": "docs/SCHEMA_CONVENTIONS.md",
|
|
182
|
+
"target": "docs/SCHEMA_CONVENTIONS.md"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
"domain.http": {
|
|
187
|
+
"extensions": [],
|
|
188
|
+
"managed_files": [
|
|
189
|
+
{
|
|
190
|
+
"source": "dispatch/write_http.md",
|
|
191
|
+
"target": "dispatch/write_http.md"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"source": "docs/REST_API_DESIGN_GUIDELINES.md",
|
|
195
|
+
"target": "docs/REST_API_DESIGN_GUIDELINES.md"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
"domain.auth": {
|
|
200
|
+
"extensions": [],
|
|
201
|
+
"managed_files": [
|
|
202
|
+
{
|
|
203
|
+
"source": "dispatch/write_auth.md",
|
|
204
|
+
"target": "dispatch/write_auth.md"
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"domain.documentation": {
|
|
209
|
+
"extensions": [],
|
|
210
|
+
"managed_files": [
|
|
211
|
+
{
|
|
212
|
+
"source": "dispatch/write_documentation.md",
|
|
213
|
+
"target": "dispatch/write_documentation.md"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"source": "docs/DOCUMENTATION_RULES.md",
|
|
217
|
+
"target": "docs/DOCUMENTATION_RULES.md"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
"domain.changelog": {
|
|
222
|
+
"extensions": [],
|
|
223
|
+
"managed_files": [
|
|
224
|
+
{
|
|
225
|
+
"source": "dispatch/write_changelog.md",
|
|
226
|
+
"target": "dispatch/write_changelog.md"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"source": "docs/CHANGELOG_VOICE.md",
|
|
230
|
+
"target": "docs/CHANGELOG_VOICE.md"
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"workflow.specifications": {
|
|
235
|
+
"extensions": [],
|
|
236
|
+
"managed_files": [
|
|
237
|
+
{
|
|
238
|
+
"source": "dispatch/write_spec.md",
|
|
239
|
+
"target": "dispatch/write_spec.md"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"source": "docs/TEMPLATE.md",
|
|
243
|
+
"target": "docs/TEMPLATE.md"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"source": "audits/spec-template.sh",
|
|
247
|
+
"target": "audits/spec-template.sh"
|
|
248
|
+
}
|
|
249
|
+
]
|
|
250
|
+
},
|
|
251
|
+
"workflow.governance": {
|
|
252
|
+
"extensions": [],
|
|
253
|
+
"managed_files": [
|
|
254
|
+
{
|
|
255
|
+
"source": "dispatch/edit_rules.md",
|
|
256
|
+
"target": "dispatch/edit_rules.md"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"source": "audits/agents-md.md",
|
|
260
|
+
"target": "audits/agents-md.md"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"source": "docs/ORLY_ARCHITECTURE.md",
|
|
264
|
+
"target": "docs/ORLY_ARCHITECTURE.md"
|
|
265
|
+
}
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
"product.agentsfleet": {
|
|
269
|
+
"extensions": [],
|
|
270
|
+
"managed_files": [
|
|
271
|
+
{
|
|
272
|
+
"source": "audits/cross-tier-rates.sh",
|
|
273
|
+
"target": "audits/cross-tier-rates.sh"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"source": "audits/design-tokens.sh",
|
|
277
|
+
"target": "audits/design-tokens.sh"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"source": "audits/error-codes.sh",
|
|
281
|
+
"target": "audits/error-codes.sh"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"source": "docs/EXECUTE_DOC_READS.md",
|
|
285
|
+
"target": "docs/EXECUTE_DOC_READS.md"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"source": "docs/HARNESS_VERIFY_OUTPUT.md",
|
|
289
|
+
"target": "docs/HARNESS_VERIFY_OUTPUT.md"
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"source": "docs/LOGGING_STANDARD.md",
|
|
293
|
+
"target": "docs/LOGGING_STANDARD.md"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"source": "dispatch/verify.md",
|
|
297
|
+
"target": "dispatch/verify.md"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"source": "docs/VERIFY_TIERS.md",
|
|
301
|
+
"target": "docs/VERIFY_TIERS.md"
|
|
302
|
+
}
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
"workflow.skills": {
|
|
306
|
+
"extensions": [],
|
|
307
|
+
"managed_files": [
|
|
308
|
+
{
|
|
309
|
+
"source": "skills/orly-spec-new/SKILL.md",
|
|
310
|
+
"target": ".claude/skills/orly-spec-new/SKILL.md"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"source": "skills/orly-spec-new/SKILL.md",
|
|
314
|
+
"target": ".agents/skills/orly-spec-new/SKILL.md"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"source": "skills/orly-spec-new/SKILL.md",
|
|
318
|
+
"target": ".opencode/skills/orly-spec-new/SKILL.md"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"source": "skills/orly-write-unit-test/SKILL.md",
|
|
322
|
+
"target": ".claude/skills/orly-write-unit-test/SKILL.md"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"source": "skills/orly-write-unit-test/SKILL.md",
|
|
326
|
+
"target": ".agents/skills/orly-write-unit-test/SKILL.md"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"source": "skills/orly-write-unit-test/SKILL.md",
|
|
330
|
+
"target": ".opencode/skills/orly-write-unit-test/SKILL.md"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"source": "skills/orly-write-integration-test/SKILL.md",
|
|
334
|
+
"target": ".claude/skills/orly-write-integration-test/SKILL.md"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"source": "skills/orly-write-integration-test/SKILL.md",
|
|
338
|
+
"target": ".agents/skills/orly-write-integration-test/SKILL.md"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"source": "skills/orly-write-integration-test/SKILL.md",
|
|
342
|
+
"target": ".opencode/skills/orly-write-integration-test/SKILL.md"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"source": "skills/orly-babysit-prs/SKILL.md",
|
|
346
|
+
"target": ".claude/skills/orly-babysit-prs/SKILL.md"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"source": "skills/orly-babysit-prs/SKILL.md",
|
|
350
|
+
"target": ".agents/skills/orly-babysit-prs/SKILL.md"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"source": "skills/orly-babysit-prs/SKILL.md",
|
|
354
|
+
"target": ".opencode/skills/orly-babysit-prs/SKILL.md"
|
|
355
|
+
}
|
|
356
|
+
]
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"rules": [
|
|
360
|
+
{
|
|
361
|
+
"key": "governance.registry.valid",
|
|
362
|
+
"state": "active",
|
|
363
|
+
"decision": "mechanical",
|
|
364
|
+
"pack": "workflow.governance",
|
|
365
|
+
"checker": [
|
|
366
|
+
"bin/orly",
|
|
367
|
+
"validate"
|
|
368
|
+
],
|
|
369
|
+
"fixtures": {
|
|
370
|
+
"pass": [
|
|
371
|
+
"fixtures/registry-valid.json"
|
|
372
|
+
],
|
|
373
|
+
"fail": [
|
|
374
|
+
"fixtures/registry-invalid.json"
|
|
375
|
+
]
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"key": "governance.render.stable",
|
|
380
|
+
"state": "active",
|
|
381
|
+
"decision": "mechanical",
|
|
382
|
+
"pack": "workflow.governance",
|
|
383
|
+
"checker": [
|
|
384
|
+
"bin/orly",
|
|
385
|
+
"verify",
|
|
386
|
+
"--all"
|
|
387
|
+
],
|
|
388
|
+
"fixtures": {
|
|
389
|
+
"pass": [
|
|
390
|
+
"src/render.test.ts"
|
|
391
|
+
],
|
|
392
|
+
"fail": [
|
|
393
|
+
"fixtures/unclosed-pack-block.md"
|
|
394
|
+
]
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"key": "repository.conform",
|
|
399
|
+
"state": "active",
|
|
400
|
+
"decision": "repository",
|
|
401
|
+
"pack": "universal.authoring",
|
|
402
|
+
"command": "conform"
|
|
403
|
+
}
|
|
404
|
+
]
|
|
405
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"required": [
|
|
5
|
+
"schema_version",
|
|
6
|
+
"profile",
|
|
7
|
+
"source_commit",
|
|
8
|
+
"result",
|
|
9
|
+
"checks",
|
|
10
|
+
"llm_result",
|
|
11
|
+
"created_at"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"schema_version": {
|
|
15
|
+
"const": 1
|
|
16
|
+
},
|
|
17
|
+
"profile": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"source_commit": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"result": {
|
|
24
|
+
"enum": [
|
|
25
|
+
"pass",
|
|
26
|
+
"fail"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"checks": {
|
|
30
|
+
"type": "array"
|
|
31
|
+
},
|
|
32
|
+
"llm_result": {
|
|
33
|
+
"enum": [
|
|
34
|
+
"pass",
|
|
35
|
+
"not-required"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"created_at": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"additionalProperties": false
|
|
43
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"required": ["schema_version", "name", "packs", "commands"],
|
|
5
|
+
"properties": {
|
|
6
|
+
"schema_version": {"const": 1},
|
|
7
|
+
"name": {"type": "string"},
|
|
8
|
+
"packs": {"type": "array", "items": {"type": "string"}},
|
|
9
|
+
"commands": {"type": "object"}
|
|
10
|
+
},
|
|
11
|
+
"additionalProperties": false
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"required": ["schema_version", "core_documents", "packs", "rules"],
|
|
5
|
+
"properties": {
|
|
6
|
+
"schema_version": {"const": 1},
|
|
7
|
+
"core_documents": {"type": "array", "items": {"type": "string"}},
|
|
8
|
+
"packs": {"type": "object"},
|
|
9
|
+
"rules": {"type": "array"}
|
|
10
|
+
},
|
|
11
|
+
"additionalProperties": false
|
|
12
|
+
}
|