Record policy concision audit

This commit is contained in:
2026-09-27 19:57:26 +00:00
parent bf92cb1c83
commit c4cee12aff

275
tmp/audit.md Normal file
View File

@@ -0,0 +1,275 @@
# 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.