polydeukes 0.9.0 → 0.10.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.
@@ -2,34 +2,59 @@
2
2
 
3
3
  [English](./README.md) · **한국어**
4
4
 
5
- > AI 코딩 파트너와 함께 개발하기 위한 규율 프레임워크입니다. 궁금한 곳부터 읽으십시오.
5
+ 폴리데우케스는 AI 코딩 파트너와 함께 개발하기 위한 규율(discipline) 프레임워크입니다.
6
+ 아래에서 하려는 작업에 맞는 안내를 선택하세요.
6
7
 
8
+ <a id="여기서-시작하십시오"></a>
7
9
  <a id="start-here"></a>
8
- ## 여기서 시작하십시오
10
+ ## 시작하기
9
11
 
10
12
  | 하려는 것 | 읽을 문서 |
11
13
  |---|---|
12
- | 첫 눈에 보이는 판정을 보고 싶다 | [첫 판정](./tutorials/first-judgment.ko.md) — 설치하고 Claude Code 배선한 보호된 편집이 판정되는 모습을 봅니다 |
13
- | Claude Code, Grok, Codex, git을 연결하고 싶다 | [표면 연결하기](./how-to/connect-surfaces.ko.md) — 세션과 커밋 배선, Grok와 Codex 포함 |
14
- | 프로젝트 설정을 다듬고 싶다 | [프로젝트 설정하기](./how-to/configure-project.ko.md) — 발견, IDE 지원, advise와 block 선택 |
15
- | 실제 규율을 쓰고 싶다 | [규율 작성하기](./how-to/write-disciplines.ko.md) — 실전 선언 예제, 특히 locale key pairing |
14
+ | 첫 판정을 확인하고 싶다 | [첫 판정](./tutorials/first-judgment.ko.md) — 설치와 Claude Code 연동을 마치고 보호 파일 편집에 대한 판정을 확인합니다 |
15
+ | Claude Code, Grok, Codex, git을 연결하고 싶다 | [표면 연결하기](./how-to/connect-surfaces.ko.md) — 세션과 커밋 연동 설정, Grok와 Codex 포함 |
16
+ | 프로젝트 설정을 다듬고 싶다 | [프로젝트 설정하기](./how-to/configure-project.ko.md) — 설정 파일 찾기, IDE 지원, advise와 block 선택 |
17
+ | 실제 규율을 쓰고 싶다 | [규율 작성하기](./how-to/write-disciplines.ko.md) — 번역 맞춤을 포함한 선언 예제 |
16
18
  | 차단이나 건너뜀에서 회복하고 싶다 | [문제 해결](./troubleshooting.ko.md) — fail-closed 상태, 증인 밸브, 로그 |
17
19
  | 이 프레임워크가 왜 있는지 알고 싶다 | [왜 폴리데우케스인가?](./why-polydeukes.ko.md) — 설계 백서 |
18
20
  | 이 문서에 기여하고 싶다 | [문서에 기여하기](./contributing.ko.md) — 영한 쌍, 안정 ID, 카탈로그, 검사 |
19
21
 
20
22
  <a id="reference"></a>
21
- ## 레퍼런스
23
+ ## 참조
22
24
 
23
- 설정 키, 하위 명령, 종료 코드를 설명합니다. 계획이 아니라 현재 동작을 기준으로 서술합니다.
25
+ <a id="reference-cli"></a>
26
+ ### CLI 명령어
24
27
 
25
- | 문서 | 답하는 |
28
+ | 명령어 | 용도 |
29
+ |---|---|
30
+ | [`pdks covenant check`](./reference/cli/covenant-check.ko.md) | 입력 IR이나 unified diff를 판정하고 결과와 종료 코드 확인 |
31
+ | [`pdks init`](./reference/cli/init.ko.md) | 프로젝트 설정 생성 |
32
+ | [`pdks explain`](./reference/cli/explain.ko.md) | 등록된 규율과 강제 수준 확인 |
33
+ | [`pdks docs`](./reference/cli/docs.ko.md) | 설치된 문서 검색과 조회 |
34
+
35
+ <a id="reference-configuration"></a>
36
+ ### 설정
37
+
38
+ [설정 참조](./reference/configuration/index.ko.md)에서 `polydeukes.config.yaml`의 키와
39
+ 강제 수준, 규율 목록, 증인 설정을 확인합니다.
40
+
41
+ <a id="reference-declaration-language"></a>
42
+ ### 선언 언어
43
+
44
+ [선언 언어 참조](./reference/declaration-language/index.ko.md)에서 소스, 추출 단계,
45
+ 조합 연산, 관계, 기전의 전체 문법과 제약을 확인합니다.
46
+
47
+ <a id="reference-packages"></a>
48
+ ### 패키지
49
+
50
+ | 패키지 | 담당 기능 |
26
51
  |---|---|
27
- | [설정 레퍼런스](./reference/configuration/index.ko.md) | `polydeukes.config.yaml`에 무엇을 넣을 수 있고 각 키가 무엇을 하는지 |
28
52
  | [`polydeukes` (`pdks` CLI)](./reference/packages/polydeukes.ko.md) | 패키지 계약과 그 안에 있는 판정기. 서브커맨드는 [`reference/cli/`](./reference/cli/covenant-check.ko.md) |
29
53
  | [`@polydeukes/core`](./reference/packages/core.ko.md) | 프로토콜, 입력 IR, 설정 스키마, 텔레메트리 |
30
54
  | [`@polydeukes/adapter-claude-code`](./reference/packages/adapter-claude-code.ko.md) | Claude Code 세션 표면입니다. 훅 페이로드에서 입력 IR로 |
31
55
  | [`@polydeukes/adapter-grok`](./reference/packages/adapter-grok.ko.md) | Grok 세션 표면입니다. 훅 페이로드에서 입력 IR로 |
32
56
  | [`@polydeukes/adapter-codex`](./reference/packages/adapter-codex.ko.md) | Codex 세션 표면입니다. 훅 페이로드에서 입력 IR로, 패치가 건드리는 파일마다 원소 하나 |
57
+ | [`@polydeukes/sdk-ts`](./reference/packages/sdk-ts.ko.md) | TypeScript에서 판정기를 호출하고 결과를 처리하는 방법 |
33
58
 
34
59
  <a id="shape-of-the-thing"></a>
35
60
  ## 한 페이지로 보는 구조
@@ -37,16 +62,16 @@
37
62
  폴리데우케스는 개발자나 AI 에이전트가 하려는 일을 판정하고 결과를 기록합니다.
38
63
  기본값으로는 작업을 차단하지 않습니다. 설계의 바탕은 다음 세 가지입니다.
39
64
 
40
- **약속은 가두기 위한 울타리가 아닙니다.** 여기서 확인하는 규율은 개발자가 이미 스스로 지켜 온 것들입니다. AI에게만큼 사람에게도 똑같이 적용되고, 프레임워크를 만든
41
- 사람도 매일 판정을 받습니다.
65
+ **약속(covenant)은 합의한 개발 관행을 검사합니다.** 같은 규율을 사람과 AI 작업에
66
+ 적용하며, 프로젝트의 작성자도 일상적인 개발에서 사용합니다.
42
67
 
43
- **판정과 차단은 별개의 결정입니다.** 선언된 규율은 적용 범위에 해당하는 호출마다 판정합니다.
44
- 위반했을 호출을 차단할지는 별도로 정합니다. 기본값으로는 사유를 기록하고 호출을 계속합니다.
45
- 작성자는 `enforce: block`으로 차단을 선택할 있습니다. 별도 선택 없이 차단하는 것은
46
- 프레임워크 자체를 보호하는 경우뿐입니다.
68
+ **판정과 차단은 별도로 정합니다.** 선언된 규율은 적용 범위에 해당하는 호출을 판정합니다.
69
+ 기본값으로는 위반 사유를 기록하고 호출을 계속합니다. 위반을 차단하려면 항목에
70
+ `enforce: block`을 설정합니다. 프레임워크 자체의 보호 기능은 세션 호출을 기본으로 차단합니다.
47
71
 
48
- **모든 판정은 하나를 남깁니다.** `.polydeukes/roi.log`가 판정 결과마다 줄씩, 낱말 여섯 개짜리 어휘로 담습니다. 이 프로젝트가 자기 결함을 찾는
49
- 방법이 기록입니다. 백서에 적힌 결함들도 전부 코드를 읽어서가 아니라 행을 세어서 나왔습니다.
72
+ **판정 결과를 기록합니다.** `.polydeukes/roi.log`에 판정 결과와 관련 정보가 쌓입니다.
73
+ 로그로 위반, 건너뛴 검사, 예상과 다른 결과를 조사할 있습니다.
74
+ [설계 설명](./why-polydeukes.ko.md)에서는 기록을 바탕으로 프로젝트를 개선한 과정을 다룹니다.
50
75
 
51
76
  <a id="two-surfaces"></a>
52
77
  ## 두 표면
@@ -2,8 +2,8 @@
2
2
 
3
3
  **English** · [한국어](./README.ko.md)
4
4
 
5
- > A development discipline framework for building alongside an AI coding partner. Start where your
6
- question is.
5
+ Polydeukes is a development discipline framework for building alongside an AI coding partner.
6
+ Choose a guide for your task below.
7
7
 
8
8
  <a id="start-here"></a>
9
9
  ## Start here
@@ -21,36 +21,58 @@ question is.
21
21
  <a id="reference"></a>
22
22
  ## Reference
23
23
 
24
- Every key, every subcommand, every exit code. These describe the present state only — nothing here
25
- is aspirational.
24
+ <a id="reference-cli"></a>
25
+ ### CLI commands
26
26
 
27
- | Document | Answers |
27
+ | Command | Purpose |
28
+ |---|---|
29
+ | [`pdks covenant check`](./reference/cli/covenant-check.md) | Judge an input IR or unified diff; read verdicts and exit codes |
30
+ | [`pdks init`](./reference/cli/init.md) | Create project configuration |
31
+ | [`pdks explain`](./reference/cli/explain.md) | Inspect registered disciplines and enforcement |
32
+ | [`pdks docs`](./reference/cli/docs.md) | Search and retrieve installed documentation |
33
+
34
+ <a id="reference-configuration"></a>
35
+ ### Configuration
36
+
37
+ [Configuration reference](./reference/configuration/index.md) covers `polydeukes.config.yaml`
38
+ keys, enforcement levels, discipline lists, and witness settings.
39
+
40
+ <a id="reference-declaration-language"></a>
41
+ ### Declaration language
42
+
43
+ [Declaration language reference](./reference/declaration-language/index.md) lists every source,
44
+ extraction step, combinator, relation, and mechanism with its syntax and constraints.
45
+
46
+ <a id="reference-packages"></a>
47
+ ### Packages
48
+
49
+ | Package | Responsibility |
28
50
  |---|---|
29
- | [Configuration reference](./reference/configuration/index.md) | What may go in `polydeukes.config.yaml`, and what each key does |
30
51
  | [`polydeukes` (the `pdks` CLI)](./reference/packages/polydeukes.md) | Package contract, and the judge that lives inside it; subcommands live under [`reference/cli/`](./reference/cli/covenant-check.md) |
31
52
  | [`@polydeukes/core`](./reference/packages/core.md) | The protocol, the input IR, the config schema, telemetry |
32
53
  | [`@polydeukes/adapter-claude-code`](./reference/packages/adapter-claude-code.md) | Claude Code session surface — hook payloads become the input IR |
33
54
  | [`@polydeukes/adapter-grok`](./reference/packages/adapter-grok.md) | Grok session surface — hook payloads become the input IR |
34
55
  | [`@polydeukes/adapter-codex`](./reference/packages/adapter-codex.md) | Codex session surface — hook payloads become the input IR, one element per file the patch touches |
56
+ | [`@polydeukes/sdk-ts`](./reference/packages/sdk-ts.md) | Call the judge from TypeScript and handle its result |
35
57
 
58
+ <a id="the-shape-of-the-thing-in-one-page"></a>
36
59
  <a id="shape-of-the-thing"></a>
37
- ## The shape of the thing, in one page
60
+ ## How it works
38
61
 
39
62
  Polydeukes judges what a developer or an AI agent is about to do, records the verdict, and by
40
63
  default lets the work proceed. Three ideas carry the rest.
41
64
 
42
- **A covenant is a promise, not a fence.** The disciplines it enforces are the ones a good developer
43
- already imposes on themselves. They bind the human exactly as much as the AI, and the framework's
44
- own authors get judged by them daily.
65
+ **Covenants check agreed development practices.** The same disciplines apply to human and AI
66
+ work. This project's authors use them in daily development.
45
67
 
46
- **Judging and stopping are separate decisions.** Every declared discipline is judged on every
47
- matching call. What a break then does is a second question: by default it is recorded with its
48
- reason and the call continues. `enforce: block` is a promotion the author chooses. The only things
49
- that stop a call unasked are the framework's own protections.
68
+ **Judging and stopping are separate decisions.** Every declared discipline is judged on matching
69
+ calls. By default, a violation is recorded with its reason and the call continues. Set
70
+ `enforce: block` on an entry to stop violations. The framework's own protections block session
71
+ calls by default.
50
72
 
51
- **Every judgment leaves a row.** `.polydeukes/roi.log` holds one line per verdict, in a vocabulary
52
- of six words. That record is how this project finds its own defects — including the ones described
53
- in the whitepaper, which were all found by counting rows rather than by reading code.
73
+ **Judgments are recorded.** `.polydeukes/roi.log` stores verdicts and their context. Use the log
74
+ to investigate violations, skipped checks, and unexpected results. The
75
+ [design explanation](./why-polydeukes.md) describes how these records informed the project.
54
76
 
55
77
  <a id="two-surfaces"></a>
56
78
  ## Two surfaces
@@ -50,12 +50,12 @@
50
50
  "en": {
51
51
  "path": "how-to/connect-surfaces.md",
52
52
  "title": "Connect the surfaces",
53
- "summary": "Connect Claude Code, Grok, and git; distinguish their witness paths."
53
+ "summary": "Connect Claude Code, Grok, Codex, and git; distinguish their witness paths."
54
54
  },
55
55
  "ko": {
56
56
  "path": "how-to/connect-surfaces.ko.md",
57
57
  "title": "표면 연결하기",
58
- "summary": "Claude Code, Grok, git을 연결하고 표면별 증인 사용법을 구별합니다."
58
+ "summary": "Claude Code, Grok, Codex, git을 연결하고 표면별 증인 사용법을 구별합니다."
59
59
  }
60
60
  },
61
61
  {
@@ -129,12 +129,12 @@
129
129
  "bundled": true,
130
130
  "en": {
131
131
  "path": "reference/cli/covenant-check.md",
132
- "title": "`pdks covenant check`",
132
+ "title": "pdks covenant check",
133
133
  "summary": "Judge a unified diff or an input IR from stdin, and read the exit codes."
134
134
  },
135
135
  "ko": {
136
136
  "path": "reference/cli/covenant-check.ko.md",
137
- "title": "`pdks covenant check`",
137
+ "title": "pdks covenant check",
138
138
  "summary": "stdin의 unified diff나 입력 IR을 판정하고 종료 코드를 읽는 방법을 설명합니다."
139
139
  }
140
140
  },
@@ -145,13 +145,13 @@
145
145
  "bundled": true,
146
146
  "en": {
147
147
  "path": "reference/cli/init.md",
148
- "title": "`pdks init`",
149
- "summary": "Create the project scaffold, and find the Claude Code and Grok installers."
148
+ "title": "pdks init",
149
+ "summary": "Create the project scaffold, and find the Claude Code, Grok, and Codex installers."
150
150
  },
151
151
  "ko": {
152
152
  "path": "reference/cli/init.ko.md",
153
- "title": "`pdks init`",
154
- "summary": "프로젝트 초기 파일을 만들고, Claude Code Grok 설치기를 찾습니다."
153
+ "title": "pdks init",
154
+ "summary": "프로젝트 초기 파일을 만들고, Claude Code, Grok, Codex 설치기를 찾습니다."
155
155
  }
156
156
  },
157
157
  {
@@ -161,12 +161,12 @@
161
161
  "bundled": true,
162
162
  "en": {
163
163
  "path": "reference/cli/explain.md",
164
- "title": "`pdks explain`",
164
+ "title": "pdks explain",
165
165
  "summary": "Inspect assembled registrations and their enforcement levels."
166
166
  },
167
167
  "ko": {
168
168
  "path": "reference/cli/explain.ko.md",
169
- "title": "`pdks explain`",
169
+ "title": "pdks explain",
170
170
  "summary": "조립된 등록과 강제 수준을 확인합니다."
171
171
  }
172
172
  },
@@ -177,12 +177,12 @@
177
177
  "bundled": true,
178
178
  "en": {
179
179
  "path": "reference/cli/docs.md",
180
- "title": "`pdks docs`",
180
+ "title": "pdks docs",
181
181
  "summary": "Search and retrieve installed documentation without network access."
182
182
  },
183
183
  "ko": {
184
184
  "path": "reference/cli/docs.ko.md",
185
- "title": "`pdks docs`",
185
+ "title": "pdks docs",
186
186
  "summary": "네트워크 없이 설치된 문서를 검색하고 조회합니다."
187
187
  }
188
188
  },
@@ -203,105 +203,121 @@
203
203
  }
204
204
  },
205
205
  {
206
- "id": "package-polydeukes",
206
+ "id": "declaration-language",
207
207
  "category": "reference",
208
208
  "order": 12,
209
209
  "bundled": true,
210
+ "en": {
211
+ "path": "reference/declaration-language/index.md",
212
+ "title": "Declaration language reference",
213
+ "summary": "Look up every source, extraction step, combinator, relation, and mechanism."
214
+ },
215
+ "ko": {
216
+ "path": "reference/declaration-language/index.ko.md",
217
+ "title": "선언 언어 참조",
218
+ "summary": "모든 소스, 추출 단계, 조합 연산, 관계, 기전의 문법과 제약을 조회합니다."
219
+ }
220
+ },
221
+ {
222
+ "id": "package-polydeukes",
223
+ "category": "reference",
224
+ "order": 13,
225
+ "bundled": true,
210
226
  "en": {
211
227
  "path": "reference/packages/polydeukes.md",
212
- "title": "`polydeukes`",
228
+ "title": "polydeukes",
213
229
  "summary": "Consult the polydeukes package contract and its limits."
214
230
  },
215
231
  "ko": {
216
232
  "path": "reference/packages/polydeukes.ko.md",
217
- "title": "`polydeukes`",
233
+ "title": "polydeukes",
218
234
  "summary": "polydeukes 패키지의 계약과 한계를 확인합니다."
219
235
  }
220
236
  },
221
237
  {
222
238
  "id": "package-core",
223
239
  "category": "reference",
224
- "order": 13,
240
+ "order": 14,
225
241
  "bundled": true,
226
242
  "en": {
227
243
  "path": "reference/packages/core.md",
228
- "title": "`@polydeukes/core`",
244
+ "title": "@polydeukes/core",
229
245
  "summary": "Consult the core package contract and its limits."
230
246
  },
231
247
  "ko": {
232
248
  "path": "reference/packages/core.ko.md",
233
- "title": "`@polydeukes/core`",
249
+ "title": "@polydeukes/core",
234
250
  "summary": "core 패키지의 계약과 한계를 확인합니다."
235
251
  }
236
252
  },
237
253
  {
238
254
  "id": "package-adapter-claude-code",
239
255
  "category": "reference",
240
- "order": 15,
256
+ "order": 16,
241
257
  "bundled": true,
242
258
  "en": {
243
259
  "path": "reference/packages/adapter-claude-code.md",
244
- "title": "`@polydeukes/adapter-claude-code`",
260
+ "title": "@polydeukes/adapter-claude-code",
245
261
  "summary": "Install the Claude Code session surface, and consult the adapter package contract and its limits."
246
262
  },
247
263
  "ko": {
248
264
  "path": "reference/packages/adapter-claude-code.ko.md",
249
- "title": "`@polydeukes/adapter-claude-code`",
265
+ "title": "@polydeukes/adapter-claude-code",
250
266
  "summary": "Claude Code 세션 표면을 설치하고, 어댑터 패키지의 계약과 한계를 확인합니다."
251
267
  }
252
268
  },
253
269
  {
254
270
  "id": "package-adapter-grok",
255
271
  "category": "reference",
256
- "order": 16,
272
+ "order": 17,
257
273
  "bundled": true,
258
274
  "en": {
259
275
  "path": "reference/packages/adapter-grok.md",
260
- "title": "`@polydeukes/adapter-grok`",
276
+ "title": "@polydeukes/adapter-grok",
261
277
  "summary": "Install the Grok session surface, and consult the adapter package contract and its limits."
262
278
  },
263
279
  "ko": {
264
280
  "path": "reference/packages/adapter-grok.ko.md",
265
- "title": "`@polydeukes/adapter-grok`",
281
+ "title": "@polydeukes/adapter-grok",
266
282
  "summary": "Grok 세션 표면을 설치하고, 어댑터 패키지의 계약과 한계를 확인합니다."
267
283
  }
268
284
  },
269
285
  {
270
286
  "id": "package-adapter-codex",
271
287
  "category": "reference",
272
- "order": 17,
288
+ "order": 18,
273
289
  "bundled": true,
274
290
  "en": {
275
291
  "path": "reference/packages/adapter-codex.md",
276
- "title": "`@polydeukes/adapter-codex`",
292
+ "title": "@polydeukes/adapter-codex",
277
293
  "summary": "Install the Codex session surface, and consult how patch text becomes file-change evidence."
278
294
  },
279
295
  "ko": {
280
296
  "path": "reference/packages/adapter-codex.ko.md",
281
- "title": "`@polydeukes/adapter-codex`",
297
+ "title": "@polydeukes/adapter-codex",
282
298
  "summary": "Codex 세션 표면을 설치하고, 패치 텍스트가 파일 변경 증거가 되는 방식을 확인합니다."
283
299
  }
284
300
  },
285
301
  {
286
302
  "id": "package-sdk-ts",
287
303
  "category": "reference",
288
- "order": 25,
304
+ "order": 26,
289
305
  "bundled": true,
290
306
  "en": {
291
307
  "path": "reference/packages/sdk-ts.md",
292
- "title": "`@polydeukes/sdk-ts`",
293
- "summary": "Call the judge from TypeScript with one verb, and read the three verdicts it returns."
308
+ "title": "@polydeukes/sdk-ts",
309
+ "summary": "Call checkCovenant from TypeScript and handle its three verdicts."
294
310
  },
295
311
  "ko": {
296
312
  "path": "reference/packages/sdk-ts.ko.md",
297
- "title": "`@polydeukes/sdk-ts`",
298
- "summary": "TypeScript에서 동사 하나로 판정기를 부르고, 돌아오는 판정 결과 셋을 읽습니다."
313
+ "title": "@polydeukes/sdk-ts",
314
+ "summary": "TypeScript에서 checkCovenant를 호출하고 가지 판정 결과를 처리합니다."
299
315
  }
300
316
  },
301
317
  {
302
318
  "id": "why-polydeukes",
303
319
  "category": "explanation",
304
- "order": 17,
320
+ "order": 18,
305
321
  "bundled": false,
306
322
  "en": {
307
323
  "path": "why-polydeukes.md",
@@ -317,7 +333,7 @@
317
333
  {
318
334
  "id": "contributing-docs",
319
335
  "category": "how-to",
320
- "order": 24,
336
+ "order": 25,
321
337
  "bundled": false,
322
338
  "en": {
323
339
  "path": "contributing.md",
@@ -329,134 +345,6 @@
329
345
  "title": "문서에 기여하기",
330
346
  "summary": "영한 쌍, 안정 ID, 카탈로그 규칙, 문서 변경 전에 실행할 명령을 적습니다."
331
347
  }
332
- },
333
- {
334
- "id": "post-1",
335
- "category": "history",
336
- "order": 18,
337
- "bundled": false,
338
- "en": {
339
- "path": "build-in-public/2026-07-v0.1-covenant-core.md",
340
- "title": "<!--",
341
- "summary": "Historical development account; not a current usage reference."
342
- },
343
- "ko": {
344
- "path": "build-in-public/2026-07-v0.1-covenant-core.ko.md",
345
- "title": "<!--",
346
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
347
- }
348
- },
349
- {
350
- "id": "post-2",
351
- "category": "history",
352
- "order": 19,
353
- "bundled": false,
354
- "en": {
355
- "path": "build-in-public/2026-08-v0.2-user-disciplines.md",
356
- "title": "<!--",
357
- "summary": "Historical development account; not a current usage reference."
358
- },
359
- "ko": {
360
- "path": "build-in-public/2026-08-v0.2-user-disciplines.ko.md",
361
- "title": "<!--",
362
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
363
- }
364
- },
365
- {
366
- "id": "post-3",
367
- "category": "history",
368
- "order": 20,
369
- "bundled": false,
370
- "en": {
371
- "path": "build-in-public/2026-08-v0.3-installable-release.md",
372
- "title": "<!--",
373
- "summary": "Historical development account; not a current usage reference."
374
- },
375
- "ko": {
376
- "path": "build-in-public/2026-08-v0.3-installable-release.ko.md",
377
- "title": "<!--",
378
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
379
- }
380
- },
381
- {
382
- "id": "post-4",
383
- "category": "history",
384
- "order": 21,
385
- "bundled": false,
386
- "en": {
387
- "path": "build-in-public/2026-08-v0.4-gate-closing.md",
388
- "title": "<!--",
389
- "summary": "Historical development account; not a current usage reference."
390
- },
391
- "ko": {
392
- "path": "build-in-public/2026-08-v0.4-gate-closing.ko.md",
393
- "title": "<!--",
394
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
395
- }
396
- },
397
- {
398
- "id": "post-5",
399
- "category": "history",
400
- "order": 22,
401
- "bundled": false,
402
- "en": {
403
- "path": "build-in-public/2026-08-v0.5-diagnostic-pivot.md",
404
- "title": "<!--",
405
- "summary": "Historical development account; not a current usage reference."
406
- },
407
- "ko": {
408
- "path": "build-in-public/2026-08-v0.5-diagnostic-pivot.ko.md",
409
- "title": "<!--",
410
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
411
- }
412
- },
413
- {
414
- "id": "post-6",
415
- "category": "history",
416
- "order": 23,
417
- "bundled": false,
418
- "en": {
419
- "path": "build-in-public/2026-09-v0.6-algebra-refoundation.md",
420
- "title": "<!--",
421
- "summary": "Historical development account; not a current usage reference."
422
- },
423
- "ko": {
424
- "path": "build-in-public/2026-09-v0.6-algebra-refoundation.ko.md",
425
- "title": "<!--",
426
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
427
- }
428
- },
429
- {
430
- "id": "post-7",
431
- "category": "history",
432
- "order": 24,
433
- "bundled": false,
434
- "en": {
435
- "path": "build-in-public/2026-09-v0.6.1-docs-and-search.md",
436
- "title": "<!--",
437
- "summary": "Historical development account; not a current usage reference."
438
- },
439
- "ko": {
440
- "path": "build-in-public/2026-09-v0.6.1-docs-and-search.ko.md",
441
- "title": "<!--",
442
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
443
- }
444
- },
445
- {
446
- "id": "post-8",
447
- "category": "history",
448
- "order": 25,
449
- "bundled": false,
450
- "en": {
451
- "path": "build-in-public/2026-09-v0.7-entrypoint-reshape.md",
452
- "title": "<!--",
453
- "summary": "Historical development account; not a current usage reference."
454
- },
455
- "ko": {
456
- "path": "build-in-public/2026-09-v0.7-entrypoint-reshape.ko.md",
457
- "title": "<!--",
458
- "summary": "당시의 개발 기록이며 현재 사용법을 설명하는 참조 문서는 아닙니다."
459
- }
460
348
  }
461
349
  ],
462
350
  "topics": {
@@ -6,6 +6,8 @@ Polydeukes는 연결된 표면이 공급하는 증거를 바탕으로 선언된
6
6
  에이전트가 관행을 지켰다고 말하는 것만으로 이행을 인정하지 않습니다. 정상 판정이
7
7
  설명하는 범위도 실제로 관측한 파일, 호출, 대화 기록에 한정됩니다.
8
8
 
9
+ 관계와 추출 연산의 전체 문법은 [선언 언어 참조](../reference/declaration-language/index.ko.md)에서 확인할 수 있습니다.
10
+
9
11
  <a id="terms"></a>
10
12
  ## 약속, 규율, 표면
11
13
 
@@ -6,6 +6,8 @@ Polydeukes checks a declared practice against evidence a connected surface suppl
6
6
  infer that a practice was followed merely because an agent says so. A passing result is bounded
7
7
  by the files, calls, and history actually observed.
8
8
 
9
+ For the complete syntax of relations and extraction steps, see the [Declaration language reference](../reference/declaration-language/index.md).
10
+
9
11
  <a id="terms"></a>
10
12
  ## Covenant, discipline, and surface
11
13