-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCONSTITUTION.html
More file actions
42 lines (42 loc) · 2.18 KB
/
Copy pathCONSTITUTION.html
File metadata and controls
42 lines (42 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<h1 id="constitution.md-doc-processor">CONSTITUTION.md —
Doc-Processor</h1>
<h2 id="inherited-from-the-helix-constitution">INHERITED FROM the Helix
Constitution</h2>
<p>This module is governed by the Helix Constitution. All rules in the
constitution’s <code>Constitution.md</code> and the
<code>Constitution.md</code> it references apply unconditionally. Locate
the constitution from any nested depth via its
<code>find_constitution.sh</code> helper — do NOT hardcode a path (this
module stays fully decoupled and project-agnostic per §11.4.28).</p>
<p>Canonical reference:
https://github.com/HelixDevelopment/HelixConstitution</p>
<h2 id="mission">Mission</h2>
<p>DocProcessor turns project documentation into structured, queryable
feature maps and verification-coverage data for QA automation, while
remaining a standalone, project-not-aware, fully decoupled Go module
(<code>digital.vasic.docprocessor</code>).</p>
<h2 id="module-specific-mandatory-standards">Module-Specific Mandatory
Standards</h2>
<p>This module extends the Helix Constitution; it adds no overrides that
relax any canonical rule. The following are concrete, code-enforced
restatements scoped to this module:</p>
<ul>
<li>Decoupling: no code under <code>pkg/**</code> or <code>cmd/**</code>
may import a consuming project’s namespace. Project-specific behaviour
is injected only via the <code>Translator</code>, <code>LLMAgent</code>,
and <code>Config</code> contracts.</li>
<li>No hardcoded user-facing content: every CLI line is emitted through
the injected <code>i18n.Translator</code>; message IDs live in
<code>pkg/i18n/bundles/active.en.yaml</code>.
<code>NoopTranslator</code> is a loud fallback that returns the message
ID verbatim.</li>
<li>Secrets hygiene: <code>.env</code> is git-ignored and must be
<code>chmod 600</code>; only <code>.env.example</code> (placeholder
values) is committed.</li>
<li>Quality gates: <code>go build ./...</code> and
<code>go vet ./...</code> must pass with zero warnings, and the full
suite (<code>go test ./... -race</code>) — unit, integration, stress,
security, E2E, automation — must pass against real infrastructure
(filesystem and the real CLI binary), never via stubbed or skipped
tests.</li>
</ul>