276 lines
14 KiB
Markdown
276 lines
14 KiB
Markdown
# Policy Concision Audit
|
||
|
||
Date: 2026-09-27
|
||
|
||
Reviewed revision: `bf92cb1`
|
||
|
||
## Scope And Recommendation
|
||
|
||
Reviewed the seven policy templates, README, adoption and contributor guides,
|
||
agent entry points, and license-reference guidance. The policy suite remains
|
||
unchanged. Verbatim license texts and operative licensing examples are outside
|
||
this editorial exercise.
|
||
|
||
Prioritize local repetition and long descriptions. Keep useful examples,
|
||
explicit authority limits, conditions, and exceptions. Preserve both AGENTS.md
|
||
files, the concrete standard-library example in agents.md, and the passages
|
||
reserved for careful equivalence review in the preceding audit. Those earlier
|
||
findings remain available in commit `ad4a20e`; this report replaces the temporary
|
||
audit file with the current findings.
|
||
|
||
A conservative first pass could remove roughly 400–650 words from the seven
|
||
policy templates (about 5–8%), subject to reviewing actual rewrites. This is an
|
||
editorial estimate, not a measured result or a required reduction target. The
|
||
largest opportunities are documentation and testing. Further upstream-guide
|
||
cleanup has less effect on ordinary downstream tasks.
|
||
|
||
## Reading Cost Baseline
|
||
|
||
Counts below are whitespace-separated words, including Markdown syntax. A
|
||
compatible tokenizer was unavailable locally; these are not token counts.
|
||
URLs, code, identifiers, and table syntax make word-to-token ratios variable.
|
||
|
||
| Policy | Current words | After removing its Base Policy Template section |
|
||
| --- | ---: | ---: |
|
||
| Agents | 620 | 551 |
|
||
| Architecture | 536 | 429 |
|
||
| Documentation | 1,861 | 1,765 |
|
||
| Meta | 186 | 131 |
|
||
| OSS | 1,743 | 1,605 |
|
||
| Release | 1,595 | 1,445 |
|
||
| Testing | 2,044 | 1,984 |
|
||
| Total | 8,585 | 7,910 |
|
||
|
||
The second column of counts models only removal of adoption instructions. Actual
|
||
adoptions also add provenance and customize rules, particularly architecture.
|
||
Removing template instructions already saves 675 words; shortening those
|
||
instructions further primarily benefits upstream adoption work.
|
||
|
||
Task-specific routing remains the largest structural saving. For example,
|
||
agent + architecture + testing policies total 2,964 words after removing their
|
||
template sections, before adding the developer guide and relevant application
|
||
material. Adding documentation policy raises that subtotal to 4,729 words.
|
||
These are illustrative reading sets, not a new required bundle.
|
||
|
||
## Priority Findings
|
||
|
||
Locations use stable headings and distinctive phrases at the reviewed revision.
|
||
Suggested replacements are examples for review, not changes already applied.
|
||
|
||
### 1. Documentation: Shorten The Ownership Table
|
||
|
||
**Location:** docs/policy/documentation.md, Canonical Ownership.
|
||
|
||
The section occupies 988 words, slightly over half the document. Many cells
|
||
repeat “current,” “complete,” “concrete,” and topic nouns already supplied by
|
||
the owner path or topic column. Shorten cells while preserving their distinct
|
||
assignments and exclusions.
|
||
|
||
Examples:
|
||
|
||
- README owned content: “Purpose, value, shortest successful invocation, and
|
||
navigation, including licensing and attribution.”
|
||
- Internal overview owned content: “Implemented packages, responsibilities,
|
||
and links to focused internal docs.”
|
||
- Attribution owned content: “House Format component entries: identity,
|
||
material scope and modifications where applicable, copyright, license,
|
||
notices, and source links.”
|
||
- Testing-policy owned content: “Test philosophy, risk sufficiency, boundaries,
|
||
doubles, coverage, regressions, and test maintenance.”
|
||
|
||
Retain every owner and unique responsibility. In particular, keep configuration
|
||
precedence, runtime versus logical paths, public HTTP versus Go consumer
|
||
contracts, and roadmap versus ADR ownership explicit.
|
||
|
||
**Recommendation:** Shorten cells first. Retain the exclusions column for this
|
||
light pass. Removing it wholesale would require proving that every boundary is
|
||
expressed elsewhere and could make ownership harder to understand.
|
||
|
||
### 2. Documentation: Consolidate Ownership Restatements
|
||
|
||
**Location:** Boundary Rules, especially Orientation and Project Licensing And
|
||
Upstream Attribution.
|
||
|
||
Several sentences repeat table assignments. Retain the operational rule and
|
||
remove the repeated inventory. For example, Orientation could read:
|
||
|
||
> Link among orientation, architecture, and internal documents; maintain each
|
||
> package or behavior description in its canonical owner.
|
||
|
||
The licensing subsection can focus on README/release navigation and the release
|
||
procedure's responsibility for URL construction. The table already assigns
|
||
COPYRIGHT, LICENSE, attribution, and OSS policy ownership.
|
||
|
||
Keep the distinctive rules about internal documents linking to exact external
|
||
contracts, updating current docs with behavior, and immutable release history.
|
||
Preserve the Security And Privacy passage from the earlier audit.
|
||
|
||
**Likely combined saving for findings 1–2:** approximately 180–280 words.
|
||
|
||
### 3. Testing: Remove Immediate Repetition
|
||
|
||
**Location:** docs/policy/testing.md, Choose The Right Test Boundary, Use Test
|
||
Doubles Deliberately, and Definition Of Sufficient.
|
||
|
||
- Combine the first and last boundary-selection sentences:
|
||
“Choose the narrowest stable boundary that expresses the behavior clearly
|
||
and provides durable confidence with minimal incidental coupling.” Keep the
|
||
three examples of appropriate boundaries.
|
||
- Delete the final “Use mocks for contractual interactions.” The numbered list
|
||
already states this and the intervening examples illustrate it.
|
||
- Keep the sufficiency checklist and its reassessment instruction; remove the
|
||
final sentence that repeats consequential failures, useful signals, and
|
||
refactor stability from the checklist.
|
||
|
||
These are direct repetitions with little interpretive value.
|
||
|
||
### 4. Testing: Condense Supporting Lists And Introductions
|
||
|
||
**Location:** Test Behavior, Not Implementation; Assign Each Behavior A Test
|
||
Owner; Go-Specific Guidance; Deleting Or Rewriting Tests.
|
||
|
||
- Condense the six incidental-change examples to one sentence while keeping
|
||
all categories: private constants/helpers, equivalent operation ordering,
|
||
incidental formatting, equivalent algorithms, and internal structure.
|
||
- Introduce layer ownership once: “Where these layers exist, assign ownership
|
||
as follows.” Preserve each layer's distinct responsibility.
|
||
- Shorten the Go-technique introduction to “Select techniques by behavior and
|
||
risk.” Keep the conditions for fuzzing, goldens, integration, and end-to-end
|
||
testing; those conditions prevent the list becoming a checklist.
|
||
- Merge the first two test-maintenance sentences:
|
||
“Delete or rewrite tests when maintenance cost exceeds their continuing
|
||
protective value.”
|
||
- Group overlapping deletion candidates, preserving all failure categories.
|
||
For example, private constants, trivial helpers, and incidental snapshots can
|
||
share a bullet describing tests tied to incidental implementation details.
|
||
|
||
**Likely combined saving for findings 3–4:** approximately 100–180 words.
|
||
|
||
Keep the expected-effects table, the distinction between a failing and obsolete
|
||
test, the concurrency code examples, the rejection-versus-queuing qualification,
|
||
and explicit regression-test expectations. These teach decisions that a short
|
||
slogan would leave ambiguous. Preserve the previously reserved What Deserves
|
||
Tests passages and execution requirements.
|
||
|
||
### 5. Architecture: Consolidate The Current-Structure Explanation
|
||
|
||
**Location:** docs/policy/architecture.md, Adopted Constraints And Implemented
|
||
Structure.
|
||
|
||
“Describe current structure from implemented behavior” is immediately followed
|
||
by “Describe implemented structure accurately.” Keep one. Condense the remaining
|
||
lifecycle explanation while retaining future applicability and separate owners:
|
||
|
||
> Architectural constraints govern current and future development. Record
|
||
> implemented structure accurately, proposals and implementation status in the
|
||
> roadmap, and significant decisions and rationale in ADRs. Describe a target
|
||
> structure as implemented when its changes land.
|
||
|
||
Retain the explicit rule against promoting incidental choices into invariants.
|
||
The preceding Architectural Approach already supplies the adapter example.
|
||
|
||
**Likely saving:** approximately 25–40 words. Preserve the hexagonal preference,
|
||
proportionality, and concrete threat-scope distinction.
|
||
|
||
### 6. OSS: Shorten Navigation And Example Instructions
|
||
|
||
**Location:** docs/policy/oss.md, Canonical Locations, Upstream Reference
|
||
Examples, and instructions following the House Format fields.
|
||
|
||
- Compress each canonical-location description while retaining its unique
|
||
responsibilities. Keep the copyright/grant fields, companion-text rule,
|
||
standard-text version/exception distinctions, and project-license boundary.
|
||
- Merge the upstream-example instructions:
|
||
“Use the commit-pinned upstream examples to create actual project notices.
|
||
Keep the example collection upstream and applicable license texts locally.”
|
||
Preserve the named local destinations in Canonical Locations.
|
||
- The attribution example's three demonstrated cases can be summarized as
|
||
“The example illustrates omitted fields and multiple copyrights and licenses.”
|
||
The House Format already describes normal entries and the omission rules.
|
||
- Remove the adoption-section sentence “The collection is a reference collection
|
||
from which projects select applicable texts.” The preceding sentence already
|
||
says to copy applicable texts. This saving is upstream-only.
|
||
|
||
**Likely saving:** approximately 50–90 words. Leave the exact five-field format,
|
||
required punctuation, SPDX handling, imported-commit rules, linking house rule,
|
||
editorial restrictions, author choice, and concrete-exception process intact.
|
||
Preserve all previously reserved passages.
|
||
|
||
### 7. Agents: Small, Frequently Read Savings
|
||
|
||
**Location:** docs/policy/agents.md, Purpose and opening Git Commit Policy prose.
|
||
|
||
- “Agents working in this repository must read and adhere to the following house
|
||
rules” can become “Agents must read and follow these rules.”
|
||
- “Commit each completed outcome that contains file changes” repeats the opening
|
||
default commitment. Merge its nonempty-outcome qualification into that opening
|
||
sentence, retaining focused units, relevant tests/docs, explicit opt-out,
|
||
and completion of validation.
|
||
|
||
**Likely saving:** approximately 15–30 words. Preserve both AGENTS.md files, the
|
||
standard-library example, explicit restrictions/guarantees rules, authorization
|
||
boundaries, and concrete commit commands. Keep the distinction between reviewing
|
||
working-tree changes and reviewing the staged commit.
|
||
|
||
### 8. Release: Limit This Pass To Small Duplications
|
||
|
||
**Location:** docs/policy/release.md, Release Model And Completion and Release
|
||
Documentation And Preparation.
|
||
|
||
- Remove “Successful tag publication completes the source release” from the
|
||
separate artifact-status paragraph: the earlier completion rule already says
|
||
this with the important authoritative-branch condition.
|
||
- Remove “Apply the format to new release notes”: the section begins “Every new
|
||
release must include…” and the remaining paragraph defines that format.
|
||
|
||
**Likely saving:** approximately 15–20 words. Keep the separately reported
|
||
artifact status. Preserve all previously reserved passages on gates, offline
|
||
checks, human approvals, immutability, publication state, and recovery. Their
|
||
apparent repetition often covers distinct phases and failure conditions.
|
||
|
||
## Secondary Findings: Upstream Guides
|
||
|
||
These improve readability but contribute little to routine downstream policy
|
||
reading. Avoid counting them as savings in the adopted suite.
|
||
|
||
- **docs/development.md, Orientation:** remove the second statement that the
|
||
repository maintains policy templates and reference materials; it repeats
|
||
the opening. Keep the upstream-template/downstream-example distinction.
|
||
- **docs/development.md, Editing And Validation:** the first and last sentences
|
||
both require commit-pinned reference links. State that once, with the discovery
|
||
link exception, temporary local links, and publication accessibility check.
|
||
- **README.md, Adopt The Policies:** combine the two instructions to use licensing
|
||
examples for actual notices. Keep both destinations: upstream examples and
|
||
locally copied applicable texts.
|
||
- **docs/adoption.md, Update Deliberately:** remove “Update source references when
|
||
the corresponding upstream changes are incorporated.” The preceding paragraph
|
||
already requires Upstream Source to identify the revision actually incorporated.
|
||
- **Template adoption boilerplate:** replace long “This document is the base
|
||
template…” introductions with “When adopting this policy:” where applicable.
|
||
Keep each document's actual adoption steps and removal instruction. These
|
||
sections disappear downstream, so this is a lower priority.
|
||
- **docs/policy/meta.md:** already small and useful. Leave it intact for this pass.
|
||
|
||
## Guardrails For Implementation
|
||
|
||
1. Preserve each rule's actor, force, scope, exceptions, and timing. A shorter
|
||
statement that turns a prohibition into a preference fails this audit's goal.
|
||
2. Keep conditions beside examples. Preserve concrete examples selected by the
|
||
author and illustrative distinctions that prevent overbuilt implementations.
|
||
3. Consolidate within documents first. Cross-document links can increase actual
|
||
context use if agents must load another policy to resolve a routine rule.
|
||
4. Keep the downstream reading snippet in the upstream adoption guide. Its
|
||
repetition serves a copying workflow and is absent from ordinary downstream
|
||
orientation once installed in the local developer guide.
|
||
5. Avoid adding summaries, glossaries, split policy variants, or generated
|
||
condensed copies. Each creates more text or another source to maintain.
|
||
6. Preserve precise paths, full commit pins, provenance, and legal text. URL
|
||
shortening, whitespace changes, and cryptic abbreviations offer poor tradeoffs.
|
||
7. After editing, measure the changed policies and representative reading sets.
|
||
Use a chosen tokenizer if available and name it; otherwise report word counts.
|
||
Actual context savings depend on what the agent reads and its tokenizer.
|
||
|
||
A useful first pass is the table-cell cleanup, direct repetition removal, and
|
||
shortened supporting prose above. Larger structural changes can wait for
|
||
experience with downstream adoption.
|