chore: 문서 수정
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,6 +13,11 @@ from claridoc.models import (
|
||||
Severity,
|
||||
SourcePack,
|
||||
)
|
||||
from claridoc.style_contracts import (
|
||||
KOREAN_EXPERIENCE_CONTRACT_ID,
|
||||
korean_experience_contract_applies,
|
||||
plain_form_ending_locations,
|
||||
)
|
||||
from claridoc.utils import line_number, normalize_heading, strip_code_blocks, word_count
|
||||
|
||||
|
||||
@@ -201,6 +206,27 @@ def lint_document(text: str, brief: Brief, outline: Outline, sources: SourcePack
|
||||
),
|
||||
)
|
||||
break
|
||||
|
||||
style_contract_applies = korean_experience_contract_applies(brief)
|
||||
plain_form_locations = (
|
||||
plain_form_ending_locations(text)
|
||||
if style_contract_applies
|
||||
else []
|
||||
)
|
||||
if plain_form_locations:
|
||||
add(
|
||||
"STYLE002",
|
||||
Severity.BLOCKER,
|
||||
(
|
||||
"Reader-facing Korean prose mixes plain declarative endings "
|
||||
f"into the required 합니다/했습니다 style ({len(plain_form_locations)} occurrence(s))."
|
||||
),
|
||||
line=plain_form_locations[0],
|
||||
suggestion=(
|
||||
"Use 했습니다 for observed or performed work and 합니다 for "
|
||||
"current behavior. Preserve quoted material and code unchanged."
|
||||
),
|
||||
)
|
||||
long_paragraph_count = 0
|
||||
crowded_paragraph_count = 0
|
||||
long_sentence_count = 0
|
||||
@@ -398,6 +424,12 @@ def lint_document(text: str, brief: Brief, outline: Outline, sources: SourcePack
|
||||
"decision_section_count": sum(bool(section.decision_requirements) for section in outline.sections),
|
||||
"numbered_steps": numbered_steps,
|
||||
"formulaic_ordinal_opening_count": len(formulaic_ordinal_openings),
|
||||
"style_contract": (
|
||||
KOREAN_EXPERIENCE_CONTRACT_ID
|
||||
if style_contract_applies
|
||||
else "none"
|
||||
),
|
||||
"plain_form_ending_count": len(plain_form_locations),
|
||||
"has_verification": has_verification,
|
||||
"has_tradeoffs": has_tradeoffs,
|
||||
"severity_counts": dict(severity_counts),
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
from dataclasses import dataclass
|
||||
|
||||
from claridoc.models import Brief, DocumentType
|
||||
|
||||
|
||||
@@ -35,6 +38,29 @@ Write Korean reader-facing prose as a supported first-person experience, not as
|
||||
- Use conversational but disciplined Korean. A Korean developer should be able to say the sentence naturally to a colleague without turning it into forced colloquial speech.
|
||||
"""
|
||||
|
||||
_PLAIN_FORM_ENDING = re.compile(r"(?<!니)다(?=[.!?](?:\s|$))")
|
||||
_FENCE = re.compile(r"^\s*(?:```|~~~)")
|
||||
_HEADING = re.compile(r"^\s{0,3}(#{1,6})\s+(.+?)\s*$")
|
||||
_IMAGE_ONLY = re.compile(r"^\s*!\[[^\]]*\]\([^)]*\)\s*$")
|
||||
_TABLE_DIVIDER = re.compile(
|
||||
r"^\s*\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?\s*$"
|
||||
)
|
||||
_QUOTED_SPANS = (
|
||||
re.compile(r'"[^"\n]*"'),
|
||||
re.compile(r"'[^'\n]*'"),
|
||||
re.compile(r"“[^”\n]*”"),
|
||||
re.compile(r"‘[^’\n]*’"),
|
||||
re.compile(r"「[^」\n]*」"),
|
||||
re.compile(r"『[^』\n]*』"),
|
||||
)
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class ReaderProseSegment:
|
||||
text: str
|
||||
line: int
|
||||
h2_title: str | None
|
||||
|
||||
|
||||
def korean_experience_contract_applies(brief: Brief) -> bool:
|
||||
if not brief.is_korean:
|
||||
@@ -72,3 +98,64 @@ def revision_style_protocol(brief: Brief) -> str:
|
||||
After resolving individual findings, recheck 문서 전체(the complete document) against `korean_first_person_experience_v1`.
|
||||
Do not stop after adding one `저는` sentence. Confirm the opening and major transitions still form supported experience threads, all reader prose still uses `합니다/했습니다`, unfamiliar terms remain explained at first need, and no compliant section regressed during the whole-document rewrite.
|
||||
"""
|
||||
|
||||
|
||||
def reader_prose_segments(markdown: str) -> list[ReaderProseSegment]:
|
||||
segments: list[ReaderProseSegment] = []
|
||||
in_fence = False
|
||||
current_h2: str | None = None
|
||||
lines = markdown.splitlines()
|
||||
table_lines: set[int] = set()
|
||||
for index, line in enumerate(lines):
|
||||
if not _TABLE_DIVIDER.match(line):
|
||||
continue
|
||||
if index > 0 and "|" in lines[index - 1]:
|
||||
table_lines.add(index - 1)
|
||||
table_lines.add(index)
|
||||
cursor = index + 1
|
||||
while cursor < len(lines) and lines[cursor].strip() and "|" in lines[cursor]:
|
||||
table_lines.add(cursor)
|
||||
cursor += 1
|
||||
|
||||
for line_number, raw_line in enumerate(lines, start=1):
|
||||
if _FENCE.match(raw_line):
|
||||
in_fence = not in_fence
|
||||
continue
|
||||
if in_fence:
|
||||
continue
|
||||
|
||||
heading = _HEADING.match(raw_line)
|
||||
if heading:
|
||||
if len(heading.group(1)) == 2:
|
||||
current_h2 = heading.group(2).strip()
|
||||
continue
|
||||
|
||||
stripped = raw_line.strip()
|
||||
if (
|
||||
not stripped
|
||||
or line_number - 1 in table_lines
|
||||
or stripped.startswith(">")
|
||||
or raw_line.startswith((" ", "\t"))
|
||||
or _IMAGE_ONLY.match(raw_line)
|
||||
or _TABLE_DIVIDER.match(raw_line)
|
||||
or (stripped.startswith("|") and stripped.endswith("|"))
|
||||
):
|
||||
continue
|
||||
|
||||
prose = re.sub(r"!\[[^\]]*\]\([^)]*\)", "", stripped)
|
||||
prose = re.sub(r"\[([^\]]+)\]\([^)]*\)", r"\1", prose)
|
||||
prose = re.sub(r"`[^`\n]*`", "", prose)
|
||||
for quoted_span in _QUOTED_SPANS:
|
||||
prose = quoted_span.sub("", prose)
|
||||
prose = re.sub(r"^\s*(?:[-*+]|\d+[.)])\s+", "", prose).strip()
|
||||
if prose:
|
||||
segments.append(ReaderProseSegment(prose, line_number, current_h2))
|
||||
|
||||
return segments
|
||||
|
||||
|
||||
def plain_form_ending_locations(markdown: str) -> list[int]:
|
||||
locations: list[int] = []
|
||||
for segment in reader_prose_segments(markdown):
|
||||
locations.extend(segment.line for _ in _PLAIN_FORM_ENDING.finditer(segment.text))
|
||||
return locations
|
||||
|
||||
@@ -1,9 +1,270 @@
|
||||
AGENTS.md
|
||||
CHANGELOG.md
|
||||
CLAUDE.md
|
||||
LICENSE
|
||||
Makefile
|
||||
PACKAGE_MANIFEST.json
|
||||
README.md
|
||||
pyproject.toml
|
||||
.agents/skills/revising-korean-technical-prose/SKILL.md
|
||||
.agents/skills/revising-korean-technical-prose/agents/openai.yaml
|
||||
.agents/skills/revising-korean-technical-prose/references/sentence-patterns.md
|
||||
.run/executable-clean-architecture/assets/architecture-layered-2026-07-04.svg
|
||||
.run/executable-clean-architecture/assets/architecture-three-lenses.svg
|
||||
.run/executable-clean-architecture/assets/big-picture.svg
|
||||
.run/executable-clean-architecture/assets/boundary-enforcement-ladder.svg
|
||||
.run/executable-clean-architecture/assets/context-system-boundary.svg
|
||||
.run/executable-clean-architecture/assets/decision-spectrum-1.svg
|
||||
.run/executable-clean-architecture/assets/decision-spectrum-3.svg
|
||||
.run/executable-clean-architecture/assets/enforcement-ladder.svg
|
||||
.run/executable-clean-architecture/assets/hexagonal-ports.svg
|
||||
.run/executable-clean-architecture/assets/idempotency-four-branches.svg
|
||||
.run/executable-clean-architecture/assets/lock-timeout-routing-gap.svg
|
||||
.run/executable-clean-architecture/assets/logical-four-rings.svg
|
||||
.run/executable-clean-architecture/assets/mdc-request-lifecycle.svg
|
||||
.run/executable-clean-architecture/assets/module-graph-measured.svg
|
||||
.run/executable-clean-architecture/assets/module-vs-single.svg
|
||||
.run/executable-clean-architecture/assets/outbox-state-machine.svg
|
||||
.run/executable-clean-architecture/assets/outbox-two-paths.svg
|
||||
.run/executable-clean-architecture/assets/production-vs-optin.drawio
|
||||
.run/executable-clean-architecture/assets/production-vs-optin.svg
|
||||
.run/executable-clean-architecture/assets/runtime-call-source-dependency.svg
|
||||
.run/executable-clean-architecture/assets/runtime-seq-feed.svg
|
||||
.run/executable-clean-architecture/assets/static-analysis-venn.svg
|
||||
.run/executable-clean-architecture/assets/test-contrast.svg
|
||||
.run/executable-clean-architecture/assets/test-taxonomy-layers.svg
|
||||
.run/executable-clean-architecture/assets/three-gate-flow.svg
|
||||
.run/executable-clean-architecture/assets/transaction-lock-independent-contracts.svg
|
||||
.run/executable-clean-architecture/assets/bootstrap-dependency-guards/bootstrap-dependency-guards.svg
|
||||
.run/executable-clean-architecture/assets/inbound-transport-boundary/inbound-transport-boundary.svg
|
||||
.run/executable-clean-architecture/final/document.md
|
||||
.run/executable-clean-architecture/final/.techviz/production-vs-optin/spec.json
|
||||
.run/keycloak-four-patterns/brief.json
|
||||
.run/keycloak-four-patterns/collected.develop.json
|
||||
.run/keycloak-four-patterns/manifest.json
|
||||
.run/keycloak-four-patterns/outline.json
|
||||
.run/keycloak-four-patterns/outline.preliminary.json
|
||||
.run/keycloak-four-patterns/sources.json
|
||||
.run/keycloak-four-patterns/sources.manual.json
|
||||
.run/keycloak-four-patterns/final/deterministic-lint.md
|
||||
.run/keycloak-four-patterns/final/document.md
|
||||
.run/keycloak-four-patterns/final/evidence-map.json
|
||||
.run/keycloak-four-patterns/final/provenance.md
|
||||
.run/keycloak-four-patterns/final/quality-report.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-browser-bearer-flow/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-browser-bearer-flow/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-browser-bearer-flow/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-direct-architecture/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-direct-architecture/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap1-direct-architecture/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-architecture/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-architecture/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-architecture/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-handoff-flow/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-handoff-flow/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap2-mediator-handoff-flow/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-architecture/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-architecture/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-architecture/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-session-flow/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-session-flow/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-bff-session-flow/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-csrf-boundary/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-csrf-boundary/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap3-csrf-boundary/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-forward-auth-flow/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-forward-auth-flow/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-forward-auth-flow/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-trust-architecture/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-trust-architecture/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/ap4-edge-trust-architecture/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-contract-migration/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-contract-migration/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-contract-migration/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-custody-map/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-custody-map/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/credential-custody-map/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/four-pattern-request-boundaries/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/four-pattern-request-boundaries/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/four-pattern-request-boundaries/spec.json
|
||||
.run/keycloak-four-patterns/final/.techviz/login-api-phase-split/context.json
|
||||
.run/keycloak-four-patterns/final/.techviz/login-api-phase-split/prompt.md
|
||||
.run/keycloak-four-patterns/final/.techviz/login-api-phase-split/spec.json
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap1-browser-bearer-flow/ap1-browser-bearer-flow.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap1-direct-architecture/ap1-direct-architecture.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-architecture/ap2-mediator-architecture.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap2-mediator-handoff-flow/ap2-mediator-handoff-flow.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-architecture/ap3-bff-architecture.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap3-bff-session-flow/ap3-bff-session-flow.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap3-csrf-boundary/ap3-csrf-boundary.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-forward-auth-flow/ap4-edge-forward-auth-flow.svg
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.d2
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.dot
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.drawio
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.mmd
|
||||
.run/keycloak-four-patterns/final/assets/ap4-edge-trust-architecture/ap4-edge-trust-architecture.svg
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.d2
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.dot
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.drawio
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.mmd
|
||||
.run/keycloak-four-patterns/final/assets/credential-contract-migration/credential-contract-migration.svg
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.d2
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.dot
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.drawio
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.mmd
|
||||
.run/keycloak-four-patterns/final/assets/credential-custody-map/credential-custody-map.svg
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.d2
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.dot
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.drawio
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.mmd
|
||||
.run/keycloak-four-patterns/final/assets/four-pattern-request-boundaries/four-pattern-request-boundaries.svg
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.alt.md
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.d2
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.dot
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.drawio
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.excalidraw
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.manifest.json
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.mmd
|
||||
.run/keycloak-four-patterns/final/assets/login-api-phase-split/login-api-phase-split.svg
|
||||
.run/n+1liner/final/document.md
|
||||
.run/n+1liner/final/.techviz/baseline-schema/spec.json
|
||||
.run/n+1liner/final/.techviz/eager-lazy-query-sequence/spec.json
|
||||
.run/n+1liner/final/.techviz/nplus1-query-fanout/spec.json
|
||||
.run/n+1liner/final/.techviz/query-port-boundary/spec.json
|
||||
.run/n+1liner/final/.techviz/skew-profile/spec.json
|
||||
.run/n+1liner/final/.techviz/strategy-journey/spec.json
|
||||
.run/n+1liner/final/.techviz/target-schema/spec.json
|
||||
.run/n+1liner/final/assets/README.md
|
||||
.run/n+1liner/final/assets/diagrams/baseline-schema/baseline-schema.drawio
|
||||
.run/n+1liner/final/assets/diagrams/baseline-schema/baseline-schema.svg
|
||||
.run/n+1liner/final/assets/diagrams/eager-lazy-query-sequence/eager-lazy-query-sequence.drawio
|
||||
.run/n+1liner/final/assets/diagrams/eager-lazy-query-sequence/eager-lazy-query-sequence.svg
|
||||
.run/n+1liner/final/assets/diagrams/nplus1-query-fanout/nplus1-query-fanout.drawio
|
||||
.run/n+1liner/final/assets/diagrams/nplus1-query-fanout/nplus1-query-fanout.svg
|
||||
.run/n+1liner/final/assets/diagrams/query-port-boundary/query-port-boundary.drawio
|
||||
.run/n+1liner/final/assets/diagrams/query-port-boundary/query-port-boundary.svg
|
||||
.run/n+1liner/final/assets/diagrams/skew-profile/skew-profile.drawio
|
||||
.run/n+1liner/final/assets/diagrams/skew-profile/skew-profile.svg
|
||||
.run/n+1liner/final/assets/diagrams/strategy-journey/strategy-journey.drawio
|
||||
.run/n+1liner/final/assets/diagrams/strategy-journey/strategy-journey.svg
|
||||
.run/n+1liner/final/assets/diagrams/target-schema/target-schema.drawio
|
||||
.run/n+1liner/final/assets/diagrams/target-schema/target-schema.svg
|
||||
.run/n+1liner/final/evidence/explain/crown-deep-keyset-precompute.txt
|
||||
.run/n+1liner/final/evidence/explain/crown-deep-keyset-single-or.txt
|
||||
.run/n+1liner/final/evidence/explain/crown-unified-precompute-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/highlights-child-plan-A.txt
|
||||
.run/n+1liner/final/evidence/explain/l14-lateral-no-index.txt
|
||||
.run/n+1liner/final/evidence/explain/l14-lateral-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l14-twostep-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l14-window-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l15-keyset-index-seek.txt
|
||||
.run/n+1liner/final/evidence/explain/l15-keyset-no-index.txt
|
||||
.run/n+1liner/final/evidence/explain/l15-offset-deep-page.txt
|
||||
.run/n+1liner/final/evidence/explain/l15-visibility-or-probe.txt
|
||||
.run/n+1liner/final/evidence/explain/l16-precompute-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l16-single-or-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l16-union-branches.txt
|
||||
.run/n+1liner/final/evidence/explain/l16-union-decompose-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l3-cartesian-join-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/l4-collection-join-no-limit.txt
|
||||
.run/n+1liner/final/evidence/explain/l4-entity-paging-limit.txt
|
||||
.run/n+1liner/final/evidence/explain/l5-batch-in-semijoin.txt
|
||||
.run/n+1liner/final/evidence/explain/l5-entity-paging-limit.txt
|
||||
.run/n+1liner/final/evidence/explain/l6-child-projection.txt
|
||||
.run/n+1liner/final/evidence/explain/l6-parent-projection.txt
|
||||
.run/n+1liner/final/evidence/explain/toone-pages-plan.txt
|
||||
.run/n+1liner/final/evidence/explain/toone-users-plan.txt
|
||||
.run/n+1liner/final/evidence/metrics/crown-unified-plan.csv
|
||||
.run/n+1liner/final/evidence/metrics/l1-query-growth.csv
|
||||
.run/n+1liner/final/evidence/metrics/l1-skew-distribution.csv
|
||||
.run/n+1liner/final/evidence/metrics/l14-group-size.csv
|
||||
.run/n+1liner/final/evidence/metrics/l14-index-toggle.csv
|
||||
.run/n+1liner/final/evidence/metrics/l14-plan-compare.csv
|
||||
.run/n+1liner/final/evidence/metrics/l14-topn-resolution.csv
|
||||
.run/n+1liner/final/evidence/metrics/l15-deep-page-compare.csv
|
||||
.run/n+1liner/final/evidence/metrics/l15-depth-curve.csv
|
||||
.run/n+1liner/final/evidence/metrics/l16-plan-compare.csv
|
||||
.run/n+1liner/final/evidence/metrics/l2-toone-split.csv
|
||||
.run/n+1liner/final/evidence/metrics/l3-cartesian.csv
|
||||
.run/n+1liner/final/evidence/metrics/l4-cost-curve.csv
|
||||
.run/n+1liner/final/evidence/metrics/l4-inmemory-paging.csv
|
||||
.run/n+1liner/final/evidence/metrics/l5-batch-resolution.csv
|
||||
.run/n+1liner/final/evidence/metrics/l5-hydration-probe.csv
|
||||
.run/n+1liner/final/evidence/metrics/l6-explain-width.csv
|
||||
.run/n+1liner/final/evidence/metrics/l6-projection-resolution.csv
|
||||
.verify/application-core-golden-lint.json
|
||||
.verify/application-core-outline.json
|
||||
.verify/application-core-sources.json
|
||||
.verify/coverage.txt
|
||||
.verify/pip-wheel.log
|
||||
config/pipeline.mock.json
|
||||
config/pipeline.multi-agent.example.json
|
||||
docs/ARCHITECTURE.md
|
||||
@@ -11,11 +272,119 @@ docs/EXTENDING.md
|
||||
docs/LOGIC_MODEL.md
|
||||
docs/PROVIDERS.md
|
||||
docs/SECURITY.md
|
||||
docs/superpowers/plans/2026-07-29-korean-experience-prose-contract.md
|
||||
docs/superpowers/specs/2026-07-29-korean-experience-prose-contract-design.md
|
||||
examples/briefs/application-core-spring-di-blog.json
|
||||
examples/briefs/retry-policy-blog.json
|
||||
examples/corpus/llm-wiki-mini/raw/branch-notes/feature-application-port-usecase-contract.md
|
||||
examples/corpus/llm-wiki-mini/raw/branch-notes/feature-log-management-contract.md
|
||||
examples/corpus/llm-wiki-mini/raw/official-docs/spring-component-scanning.md
|
||||
examples/corpus/llm-wiki-mini/wiki/projects/ca-tmpl/clean-architecture-package-layout.md
|
||||
examples/golden/application-core-spring-di-boundary.evidence-map.json
|
||||
examples/golden/application-core-spring-di-boundary.md
|
||||
examples/golden/application-core-spring-di-boundary.provenance.md
|
||||
examples/golden/executable-clean-architecture/assets/architecture-layered-2026-07-04.svg
|
||||
examples/golden/executable-clean-architecture/assets/architecture-three-lenses.svg
|
||||
examples/golden/executable-clean-architecture/assets/big-picture.svg
|
||||
examples/golden/executable-clean-architecture/assets/boundary-enforcement-ladder.svg
|
||||
examples/golden/executable-clean-architecture/assets/context-system-boundary.svg
|
||||
examples/golden/executable-clean-architecture/assets/decision-spectrum-1.svg
|
||||
examples/golden/executable-clean-architecture/assets/decision-spectrum-3.svg
|
||||
examples/golden/executable-clean-architecture/assets/enforcement-ladder.svg
|
||||
examples/golden/executable-clean-architecture/assets/hexagonal-ports.svg
|
||||
examples/golden/executable-clean-architecture/assets/idempotency-four-branches.svg
|
||||
examples/golden/executable-clean-architecture/assets/lock-timeout-routing-gap.svg
|
||||
examples/golden/executable-clean-architecture/assets/logical-four-rings.svg
|
||||
examples/golden/executable-clean-architecture/assets/mdc-request-lifecycle.svg
|
||||
examples/golden/executable-clean-architecture/assets/module-graph-measured.svg
|
||||
examples/golden/executable-clean-architecture/assets/module-vs-single.svg
|
||||
examples/golden/executable-clean-architecture/assets/outbox-state-machine.svg
|
||||
examples/golden/executable-clean-architecture/assets/outbox-two-paths.svg
|
||||
examples/golden/executable-clean-architecture/assets/production-vs-optin.drawio
|
||||
examples/golden/executable-clean-architecture/assets/production-vs-optin.svg
|
||||
examples/golden/executable-clean-architecture/assets/runtime-call-source-dependency.svg
|
||||
examples/golden/executable-clean-architecture/assets/runtime-seq-feed.svg
|
||||
examples/golden/executable-clean-architecture/assets/static-analysis-venn.svg
|
||||
examples/golden/executable-clean-architecture/assets/test-contrast.svg
|
||||
examples/golden/executable-clean-architecture/assets/test-taxonomy-layers.svg
|
||||
examples/golden/executable-clean-architecture/assets/three-gate-flow.svg
|
||||
examples/golden/executable-clean-architecture/assets/transaction-lock-independent-contracts.svg
|
||||
examples/golden/executable-clean-architecture/assets/bootstrap-dependency-guards/bootstrap-dependency-guards.svg
|
||||
examples/golden/executable-clean-architecture/assets/inbound-transport-boundary/inbound-transport-boundary.svg
|
||||
examples/golden/executable-clean-architecture/claridoc-rewrite/document.md
|
||||
examples/golden/executable-clean-architecture/claridoc-rewrite/.techviz/production-vs-optin/spec.json
|
||||
examples/golden/n+1liner/n+1liner.md
|
||||
examples/golden/n+1liner/.techviz/baseline-schema/spec.json
|
||||
examples/golden/n+1liner/.techviz/eager-lazy-query-sequence/spec.json
|
||||
examples/golden/n+1liner/.techviz/nplus1-query-fanout/spec.json
|
||||
examples/golden/n+1liner/.techviz/query-port-boundary/spec.json
|
||||
examples/golden/n+1liner/.techviz/skew-profile/spec.json
|
||||
examples/golden/n+1liner/.techviz/strategy-journey/spec.json
|
||||
examples/golden/n+1liner/.techviz/target-schema/spec.json
|
||||
examples/golden/n+1liner/assets/README.md
|
||||
examples/golden/n+1liner/assets/diagrams/baseline-schema/baseline-schema.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/baseline-schema/baseline-schema.svg
|
||||
examples/golden/n+1liner/assets/diagrams/eager-lazy-query-sequence/eager-lazy-query-sequence.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/eager-lazy-query-sequence/eager-lazy-query-sequence.svg
|
||||
examples/golden/n+1liner/assets/diagrams/nplus1-query-fanout/nplus1-query-fanout.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/nplus1-query-fanout/nplus1-query-fanout.svg
|
||||
examples/golden/n+1liner/assets/diagrams/query-port-boundary/query-port-boundary.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/query-port-boundary/query-port-boundary.svg
|
||||
examples/golden/n+1liner/assets/diagrams/skew-profile/skew-profile.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/skew-profile/skew-profile.svg
|
||||
examples/golden/n+1liner/assets/diagrams/strategy-journey/strategy-journey.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/strategy-journey/strategy-journey.svg
|
||||
examples/golden/n+1liner/assets/diagrams/target-schema/target-schema.drawio
|
||||
examples/golden/n+1liner/assets/diagrams/target-schema/target-schema.svg
|
||||
examples/golden/n+1liner/evidence/explain/crown-deep-keyset-precompute.txt
|
||||
examples/golden/n+1liner/evidence/explain/crown-deep-keyset-single-or.txt
|
||||
examples/golden/n+1liner/evidence/explain/crown-unified-precompute-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/highlights-child-plan-A.txt
|
||||
examples/golden/n+1liner/evidence/explain/l14-lateral-no-index.txt
|
||||
examples/golden/n+1liner/evidence/explain/l14-lateral-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l14-twostep-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l14-window-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l15-keyset-index-seek.txt
|
||||
examples/golden/n+1liner/evidence/explain/l15-keyset-no-index.txt
|
||||
examples/golden/n+1liner/evidence/explain/l15-offset-deep-page.txt
|
||||
examples/golden/n+1liner/evidence/explain/l15-visibility-or-probe.txt
|
||||
examples/golden/n+1liner/evidence/explain/l16-precompute-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l16-single-or-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l16-union-branches.txt
|
||||
examples/golden/n+1liner/evidence/explain/l16-union-decompose-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l3-cartesian-join-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/l4-collection-join-no-limit.txt
|
||||
examples/golden/n+1liner/evidence/explain/l4-entity-paging-limit.txt
|
||||
examples/golden/n+1liner/evidence/explain/l5-batch-in-semijoin.txt
|
||||
examples/golden/n+1liner/evidence/explain/l5-entity-paging-limit.txt
|
||||
examples/golden/n+1liner/evidence/explain/l6-child-projection.txt
|
||||
examples/golden/n+1liner/evidence/explain/l6-parent-projection.txt
|
||||
examples/golden/n+1liner/evidence/explain/toone-pages-plan.txt
|
||||
examples/golden/n+1liner/evidence/explain/toone-users-plan.txt
|
||||
examples/golden/n+1liner/evidence/metrics/crown-unified-plan.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l1-query-growth.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l1-skew-distribution.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l14-group-size.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l14-index-toggle.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l14-plan-compare.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l14-topn-resolution.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l15-deep-page-compare.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l15-depth-curve.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l16-plan-compare.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l2-toone-split.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l3-cartesian.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l4-cost-curve.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l4-inmemory-paging.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l5-batch-resolution.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l5-hydration-probe.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l6-explain-width.csv
|
||||
examples/golden/n+1liner/evidence/metrics/l6-projection-resolution.csv
|
||||
examples/output/retry-policy-demo/manifest.json
|
||||
examples/output/retry-policy-demo/provider-events.jsonl
|
||||
examples/output/retry-policy-demo/run.json
|
||||
examples/output/retry-policy-demo/final/document.md
|
||||
examples/output/retry-policy-demo/final/evidence-map.json
|
||||
examples/output/retry-policy-demo/final/provenance.md
|
||||
examples/output/retry-policy-demo/final/quality-report.md
|
||||
examples/output/retry-policy-demo/inputs/brief.normalized.json
|
||||
examples/output/retry-policy-demo/inputs/pipeline.normalized.json
|
||||
@@ -26,6 +395,16 @@ examples/output/retry-policy-demo/rounds/round-01/lint.md
|
||||
examples/output/retry-policy-demo/rounds/round-01/quality-gate.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-01-logic.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-01-logic.raw.txt
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-02-decision.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-02-decision.raw.txt
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-03-reader.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-03-reader.raw.txt
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-04-editor.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-04-editor.raw.txt
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-05-evidence.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-05-evidence.raw.txt
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-06-operations.json
|
||||
examples/output/retry-policy-demo/rounds/round-01/review-06-operations.raw.txt
|
||||
examples/output/retry-policy-demo/stages/01-planner.raw.txt
|
||||
examples/output/retry-policy-demo/stages/02-outline.json
|
||||
examples/output/retry-policy-demo/stages/02-outline.md
|
||||
@@ -40,6 +419,7 @@ schemas/review.schema.json
|
||||
schemas/source-pack.schema.json
|
||||
scripts/run-demo.ps1
|
||||
scripts/run-demo.sh
|
||||
scripts/run-local-corpus-example.sh
|
||||
scripts/test.sh
|
||||
scripts/verify.sh
|
||||
src/claridoc/__init__.py
|
||||
@@ -58,10 +438,12 @@ src/claridoc/utils.py
|
||||
src/claridoc/__pycache__/__init__.cpython-312.pyc
|
||||
src/claridoc/__pycache__/__main__.cpython-312.pyc
|
||||
src/claridoc/__pycache__/cli.cpython-312.pyc
|
||||
src/claridoc/__pycache__/corpus.cpython-312.pyc
|
||||
src/claridoc/__pycache__/lint.cpython-312.pyc
|
||||
src/claridoc/__pycache__/models.cpython-312.pyc
|
||||
src/claridoc/__pycache__/pipeline.cpython-312.pyc
|
||||
src/claridoc/__pycache__/prompts.cpython-312.pyc
|
||||
src/claridoc/__pycache__/provenance.cpython-312.pyc
|
||||
src/claridoc/__pycache__/report.cpython-312.pyc
|
||||
src/claridoc/__pycache__/structures.cpython-312.pyc
|
||||
src/claridoc/__pycache__/templates.cpython-312.pyc
|
||||
@@ -97,4 +479,15 @@ tests/test_prompts.py
|
||||
tests/test_providers.py
|
||||
tests/test_schemas.py
|
||||
tests/test_structures.py
|
||||
tests/__pycache__/__init__.cpython-312.pyc
|
||||
tests/__pycache__/helpers.cpython-312.pyc
|
||||
tests/__pycache__/test_cli.cpython-312.pyc
|
||||
tests/__pycache__/test_corpus.cpython-312.pyc
|
||||
tests/__pycache__/test_lint.cpython-312.pyc
|
||||
tests/__pycache__/test_models.cpython-312.pyc
|
||||
tests/__pycache__/test_pipeline.cpython-312.pyc
|
||||
tests/__pycache__/test_prompts.cpython-312.pyc
|
||||
tests/__pycache__/test_providers.cpython-312.pyc
|
||||
tests/__pycache__/test_schemas.cpython-312.pyc
|
||||
tests/__pycache__/test_structures.cpython-312.pyc
|
||||
verification/TEST_REPORT.md
|
||||
Reference in New Issue
Block a user