Repository navigation
Language standards state coding controls directly - #260
Merged
Marius Storhaug (MariusStorhaug) merged 5 commits intoNov 11, 2026
Merged
Conversation
12 tasks done
There was a problem hiding this comment.
🟢 Approved
No active review issues are reported for these coding-standard documentation clarifications.
No open issues 🎉
What changed in this PR
This documentation-only PR advances #245 by making language-specific coding standards clearer and more direct. It preserves technical examples and coding controls while correcting PowerShell diagnostic-runtime descriptions.
Changes:
- Replaces figurative wording with direct en-US prose across PowerShell, Terraform, TypeScript, and YAML guidance.
- Clarifies module version constraints, script structure, function contracts, and class selection.
- Corrects PowerShell Debug availability, error termination, and information-stream visibility guidance without changing runtime behavior.
| File | Description |
|---|---|
src/docs/Coding-Standards/YAML.md |
Clarifies linting, suppression scope, and workflow checks. |
src/docs/Coding-Standards/TypeScript.md |
Clarifies typing rules and VS Code compatibility constraints. |
src/docs/Coding-Standards/Terraform.md |
Simplifies infrastructure, state, dependency, and tooling guidance. |
src/docs/Coding-Standards/PowerShell/Version-Constraints.md |
Clarifies version-range semantics and separate identity controls. |
src/docs/Coding-Standards/PowerShell/Scripts.md |
States script structure and dependency controls directly. |
src/docs/Coding-Standards/PowerShell/Requires-Modules.md |
Clarifies module constraints and documented exit-code observations. |
src/docs/Coding-Standards/PowerShell/Messaging.md |
Clarifies channel policy and corrects runtime descriptions. |
src/docs/Coding-Standards/PowerShell/index.md |
Simplifies shared conventions while preserving generated navigation. |
src/docs/Coding-Standards/PowerShell/Functions.md |
Clarifies parameters, pipelines, state changes, and native help. |
src/docs/Coding-Standards/PowerShell/Classes.md |
States class-selection and organization guidance directly. |
Review effort: Balanced
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:53
cd29fcb
This was referenced Nov 4, 2026
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
November 4, 2026 14:43
Marius Storhaug (MariusStorhaug)
added a commit
that referenced
this pull request
Nov 11, 2026
Shared coding standards use direct en-US guidance and present-tense contracts. Explanations replace idioms and distinguish what each check verifies. Module GUID guidance distinguishes declared metadata from content identity. Commands, examples, anchors, and technical requirements remain unchanged. No consumer action is required. <!-- ANNOUNCEMENT STOP --> ## Changed: Shared standards explain rules directly Twelve shared standards explain their existing rules with concrete terms and shorter sentences. The guidance covers function reuse, code layout, naming, errors, dependency updates, performance, pre-commit checks, security, documentation, natural language, Markdown, and testing. The Technical Writing Guide is unchanged because it already gives direct source-reading, artifact-format, preservation, and verification instructions. The changes improve guidance, not the software or enforcement it describes. A local check result is not proof of every standard or every CI result. Native help requirements, exact commands and examples, settings filenames, pinning and security controls, compatibility boundaries, and normative force remain intact. No migration or configuration action is required. <details> <summary>Technical details</summary> **Source identities and delivery.** The scoped base is `1b0d4893c8fefabe604d04393068a8ff6f848082`; the final candidate is `74bc8b9e634538cd7fb19ad0bcea694692f3ab67`. The comparison changes only 12 eligible Markdown pages, with 163 insertions and 163 deletions. The remote branch and PR report that same head, and the worktree is clean. This is scoped implementation evidence, not an invented publication baseline. The five pushed commits are `2a47f05d5ac4ad49e9ccf54c08b12ef0071a6dbd`, `4d144df3ed360596e7c9c69662e515aab16c8cc3`, `2337c5456d51e9212664ae46fae0cd624bfc60f0`, `62b521bc1fca219fbc1324f86f526d113e478c18`, and `74bc8b9e634538cd7fb19ad0bcea694692f3ab67`. The draft opened immediately after the first complete, one-page Markdown improvement. The remaining pages and the source-backed GUID factual correction were completed in the same PR. **Fixed review criteria.** The authoritative review sources are pinned to the base commit: [Documentation Model](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Ways-of-Working/Documentation-Model.md), [Natural Language](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Natural-Language.md), [Technical Writing Guide](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Writing-Guide.md), [Markdown](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Markdown.md), [Documentation](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Documentation.md), and the applicable [standard template](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Ways-of-Working/Spec-Driven-Development-Templates.md#standard). Editing a source-owning page does not weaken the criteria. The official [STEMG overview](https://www.asd-ste100.org/about_STE.html) and [FAQ](https://www.asd-ste100.org/STE_faq.html) were read. The local [Issue 9](https://doi.org/10.5281/zenodo.23666006) PDF matched MD5 `9c720341c350ed77943b2c73d01c716f`. Selected rule summaries and explanations were consulted in its local extract, including terminology, en-US, full word forms, clear sentences, direct instructions, and descriptive structure. The PDF was not exhaustively reviewed or republished. No scan, count, automated approval, or overview is treated as full STE conformance. **Owned read and acceptance evidence.** Every eligible page was read in full at the fixed baseline. Changed passages and their surrounding rules were reviewed again after editing. The following excerpts are prose acceptance evidence, not required-string tests. | Path | Read/change result | Before and after | Preserved contract | | --- | --- | --- | --- | | `src\docs\Coding-Standards\Code-Layout.md` | Full; changed | `hold in your head` becomes `Keep functions small`; formatter acceptance becomes verification of configured rules only | Standard-first derivation, screen-fit guidance, and file-layout rules | | `src\docs\Coding-Standards\Dependencies.md` | Full; changed | `maximizes control but rots` becomes excluded fixes and delayed adoption; `where you sit` becomes source, compatibility risk, and consumer role | Identity/version axes, pin forms, owned-major limits, human review, library/application roles | | `src\docs\Coding-Standards\Documentation.md` | Full; changed | `This is a floor, not a ceiling` becomes a direct native-format requirement for internal and private units | Public minimum content, internal help, comment examples, and the decision-rationale table | | `src\docs\Coding-Standards\Error-Handling.md` | Full; changed | `fulfil` becomes `fulfill`; `pushes the bug downstream` becomes failures found by later callers | Immediate errors, typed catches, propagation, separate channels, secret exclusion, cleanup | | `src\docs\Coding-Standards\Functions.md` | Full; changed | `hand-rolled version` becomes `custom implementation`; the `weak link` guidance explicitly improves the shared function for all callers | Reuse order, validation, pure core logic, preview-or-confirm behavior | | `src\docs\Coding-Standards\Markdown.md` | Full; changed | `labelled` becomes `labeled`; `behaviour` becomes `behavior`; the `honour` sentence becomes direct rule statements; `Every code fence has a language tag.` identifies the correct element | Lint settings, commands, anchor examples, links, configuration precedence | | `src\docs\Coding-Standards\Naming.md` | Full; changed | `turns it into a riddle` becomes the direct explanation that `notReady = false` means ready | All identifiers, including `daysUntilExpiry`, settings filenames, overrides, and exceptions | | `src\docs\Coding-Standards\Natural-Language.md` | Full; changed | `source code for humans and agents` becomes instructions and information; evergreen prose states the supported contract | Issue 9 MUST, en-US, audience-language policy, quotations, negative tables, fenced examples | | `src\docs\Coding-Standards\Performance.md` | Full; changed | `catastrophic for ten thousand` becomes `Code acceptable for ten items can be too slow for ten thousand.`; a second measurement replaces a `hunch` | Quadratic-growth example, data structures, filtering, streaming, safe caching, clarity first | | `src\docs\Coding-Standards\Pre-Commit.md` | Full; changed | `a commit that passes locally passes the gate` becomes `A local pass covers only the checks and inputs that local run examined.` | Configured-hook MUST, prohibition on new rules, immutable revisions, CI gate, commands, exceptions | | `src\docs\Coding-Standards\Security.md` | Full; changed | `don't hope` becomes `Revoke and rotate it.`; the image-secret prohibition is direct | Least privilege, external pins, owned-major limits, PR-author identity, event names, trusted follow-up data | | `src\docs\Coding-Standards\Testing.md` | Full; changed | `the suite stays green forever` becomes the same wrong anchor in two implementations; `the check is decoration` becomes a controlled broken case that must fail | Observable behavior, independent results, no source-freezing tests, zero-count exceptions, protected live APIs, unexecuted coverage | | `src\docs\Coding-Standards\Writing-Guide.md` | Full; no change | Existing direct instructions already cover sources, formats, preservation, and verification limits | Bytes identical to the fixed baseline | The test-first Task existed before repository edits. Its before-text observations established the prose gaps before implementation. Baseline Markdown, links, Pester, and site checks passed. The final one-off preservation comparison examines all 13 pages and retains 104 heading lines, all 77 original link targets in order, 194 inline code spans, 13 fenced blocks, and 14 normative token occurrences. One official module-manifest reference is added, for 78 extracted link targets. Front matter, Natural Language's tables and blockquoted examples, and all generated index blocks are unchanged. These comparisons establish preservation of the extracted surfaces, not full correctness or STE conformance. Manual reading supplies the meaning comparison. No source-freezing policy test was added. **Final validation at `74bc8b9e634538cd7fb19ad0bcea694692f3ab67`.** | Existing check | Result | | --- | --- | | Markdown CLI with the repository configuration | Pass: markdownlint-cli2 0.24.0, all 13 eligible files, 0 issues | | Relative-link and anchor validator | Pass: 130 files scanned | | Cross-repository-link validator | Pass: 7 links checked in 134 files | | Pester 6.0.1 through the existing runner | Pass: 66 passed, 0 failed, 0 skipped, 6 suites | | Local Zensical build | Pass: no issues; installed version 0.0.50, not the pinned-version oracle | | [Docs CI run 41833563676](https://github.com/MSXOrg/docs/actions/runs/41833563676) | Pass: Build, Links, Lint, Test; Publish skipped for the PR | | [CI Build job](https://github.com/MSXOrg/docs/actions/runs/41833563676/job/126586592277) | Pass using the unchanged pinned `zensical==0.0.59` requirement | | [Cross-repository-link CI run 41833563852](https://github.com/MSXOrg/docs/actions/runs/41833563852) | Pass; immutable head matches this candidate | | [Final automated review](#258 (review)) | Approved on this candidate; 0 new inline comments | | Scoped `git diff --check` and worktree check | Pass; clean worktree and pushed head | The local/CI Zensical versions are reported separately; CI supplies the pinned-version result. No local package was installed, and no dependency was added or changed. The baseline has no tracked `.pre-commit-config.yaml`, so no configured local hook run is claimed. A normative requirement for hooks is not evidence that they exist here. **Standards and framework alignment.** `Fixed criteria` below means the immutable writing, Markdown, Documentation, and standard-template sources linked above. `Fixed model` means the immutable Documentation Model. The standard artifact purpose is preserved: rules carry their reasoning, and author actions remain direct imperatives. No framework implementation, schema, supported command, or consumer configuration changes, so no producer/template migration applies. | Changed surface | Standards checked | Framework docs checked | Result | | --- | --- | --- | --- | | `src\docs\Coding-Standards\Code-Layout.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Dependencies.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Documentation.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Error-Handling.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Functions.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Markdown.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Naming.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Natural-Language.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Performance.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Pre-Commit.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Security.md` | Fixed criteria | Fixed model | Fixed in this PR | | `src\docs\Coding-Standards\Testing.md` | Fixed criteria | Fixed model | Fixed in this PR | **Other read-only paths.** The following repository paths were read for context, fixed criteria, process, or existing validation. All remain unchanged. Reads are complete except the two explicitly marked ranges. ```text AGENTS.md README.md .github\CONTRIBUTING.md src\docs\index.md src\docs\Coding-Standards\index.md src\docs\Ways-of-Working\Documentation-Model.md src\docs\Ways-of-Working\Spec-Driven-Development-Templates.md src\docs\Ways-of-Working\Issues\index.md src\docs\Ways-of-Working\Issues\Types\Task.md src\docs\Ways-of-Working\Issues\Process\Format.md src\docs\Ways-of-Working\PR-Format.md src\docs\Ways-of-Working\Commit-Conventions.md src\docs\Ways-of-Working\Contribution-Workflow.md src\docs\Ways-of-Working\Comparative-Review-Orchestration.md src\docs\Ways-of-Working\Workflow.md src\docs\Ways-of-Working\Workflow-Stages\Implement.md src\docs\Ways-of-Working\Workflow-Stages\Maintain-Guidance.md src\docs\Ways-of-Working\Definition-of-Ready-and-Done.md src\docs\Ways-of-Working\Branching-and-Merging.md .github\workflows\Docs.yml .github\workflows\Cross-Repository-Links.yml .github\linters\.markdown-lint.yml requirements.txt .github\scripts\Invoke-PesterSuite.ps1 .github\scripts\Wait-CopilotReview.ps1 (lines 1-160) src\zensical.toml (lines 1-100) ``` The local coordination frame was read in full. The PDF was hash-verified; selected extract rules were read at lines 1700-1795, 2540-2570, 3220-3325, 3675-3707, and 3990-4035, with targeted rule-location searches. The official overview and FAQ were read in full, as were the published Documentation Model and Ways of Working index reached through the installed skill routes. Their published aliases redirected to `msx.no`; the immutable Git sources remain the criteria. No local issue-template directory or legacy issue-template file exists. The configured parent-relative `AGENTS.md` is absent in this worktree layout; the repository's own `AGENTS.md` is present and was followed. **Task progress and issue convergence.** All implementation-plan items in #242 are complete for this draft delivery. The Task remains open for its normal merge closure. The convergence search used open MSXOrg/docs issues with `"shared coding" in:title,body`, `"ASD-STE100" in:title,body`, and `"Markdown.md" in:title,body`. These returned this Task, the 15 separately owned campaign Tasks, and #150 and #186. Both existing non-campaign issues were read in full and are not satisfied by this prose-only diff. No additional issue receives a closing keyword. **Accepted differences and open questions.** Technical nouns, native syntax, exact examples, normative contracts, direct instructions, intentional negative examples, and generated indexes retain their purpose. Existing heading idioms and contractions remain unchanged to preserve anchors. No new enforcement, functional changes, broad restructure, repository audit files, or edits to the scripts/tests reserved by #240 are included. The source-precedence question remains unresolved. [The coding-standards index](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/index.md) says configuration derives from standards. [Markdown](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Coding-Standards/Markdown.md#the-shared-configuration-is-the-source-of-truth) makes its configuration authoritative if they differ. [Implement](https://github.com/MSXOrg/docs/blob/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs/Ways-of-Working/Workflow-Stages/Implement.md#1-orient) says repo-local linter configuration wins. This PR preserves these contracts and selects no new precedence rule. The decision-rationale table's relationship to durable decision records remains a scope question. The GUID equivalence is a factual error corrected below, not a new supply-chain policy. Published-URL checking remains #150, and the redirecting alias/canonical-domain decision remains #186. The absent local pre-commit configuration is not treated as an implemented enforcement gate. One remote push rejection was resolved by a normal retry, without force-pushing. No implementation blocker remains. Full STE conformance is not claimed. The two checked-in workflows run lint, links, tests, and a Zensical Pages build/deploy without a versioned Release Management route. No release decision block or `release:*` label applies. This PR remains draft and assigned to its author, with no auto-merge request. No readiness, merge, auto-merge, or Agent merge action is taken. </details> <details> <summary>Related references</summary> - Resolves #242 - References #150 - References #186 - References #240; its scripts and tests are outside this PR </details> ## Fixed: Declared module identity is distinct from content integrity A PowerShell module GUID is declared identity metadata, not a content hash. A matching module name, GUID, and version does not prove that the module bytes are unchanged. The dependency table and related explanations distinguish fixed version selection from fixed content. The existing optional GUID check, version and pinning policy, all `#Requires` examples, SHA/digest controls, and normative force remain unchanged. No new enforcement mechanism or consumer action is required. <details> <summary>Technical details</summary> The official [module-manifest GUID reference](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_module_manifests?view=powershell-7.5#guid), verified against [Microsoft's immutable source](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/364305cae1cd43135147df815661f0a1dddd9967/reference/7.5/Microsoft.PowerShell.Core/About/about_Module_Manifests.md#guid), defines an optional declared identifier that distinguishes same-named modules. The introduction and GUID sections were read; no full-article review is claimed. Before this correction, Dependencies grouped a module GUID with content hashes as a binding to immutable bytes. The identity/exact table also reported no change before re-pinning and reproducibility as `Yes`. Those are descriptive factual claims, not policy choices to preserve when false. The Task plan was extended before editing, with the source and a controlled counterexample. Two locally generated, valid manifests both report module name `Example`, GUID `11111111-2222-4333-8444-555555555555`, and version `1.0.0`. They use different controlled description text. `Test-ModuleManifest` confirms the matching identity/version, while `Get-FileHash` returns different SHA-256 values: `95DA5C13989DF87D9E97D0176654FF5D7BC6E8128DA59563FF8F8B58D467F300` and `0E31D8A4833862CF4AB6459671D112F0246E736EF9F7710A05B9EE89B0F866BF`. Matching metadata therefore does not fix manifest bytes. Both temporary fixtures and their empty directories were removed. Commit `74bc8b9e634538cd7fb19ad0bcea694692f3ab67` changes only Dependencies, with 7 insertions and 5 deletions. It adds one official source link, distinguishes declared identity from content hashes, qualifies the identity/exact table, and corrects coupled reproducibility inferences. All existing examples, identifiers, links, and normative tokens remain intact. The language-specific owner reports matching clarification in PowerShell `Scripts.md`, `Requires-Modules.md`, and `Version-Constraints.md`, in #260 at `cd29fcb9d2fe3247aca71ae4f137279c0e8ed1cd`. Optional checks, version constraints, exact examples, and pinning policy remain unchanged there. No enforcement mechanism is added. These are separately owned changes, not additional files read or edited in this PR. | Changed surface | Standards checked | Framework docs checked | Result | | --- | --- | --- | --- | | `src\docs\Coding-Standards\Dependencies.md` | Fixed writing criteria and the verified official GUID reference | Fixed Documentation Model | Fixed in this PR | </details> <details> <summary>Related references</summary> - References #260 </details>
Marius Storhaug (MariusStorhaug)
deleted the
language-standard-writing
branch
November 11, 2026 14:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Language-specific coding standards use direct en-US technical prose and state the existing controls without idioms. PowerShell guidance also distinguishes diagnostic policy from runtime behavior and declared GUID identity from content integrity. Runtime behavior, pinning policy, compatibility requirements, and technical examples do not change. No adoption action is required.
Changed: Language-specific standards state controls directly
PowerShell, Terraform, TypeScript, and YAML guidance uses concrete descriptions, shorter sentences, and present-tense statements. Direct instructions remain imperative. The same version bounds, optional identity checks, native help, parameter and output contracts, VS Code compatibility floor, and YAML obligations remain in force.
The PowerShell factual corrections are bounded by official sources and reproducible probes. Cmdlets and advanced functions support the Debug common parameter. Write-Error is non-terminating by default, with termination controlled by effective error-action settings. Important information summaries still should be visible without Verbose, but the default information preference suppresses display unless the caller selects a visibility setting. A module GUID checks declared identity metadata, not immutable contents or publisher authenticity.
Technical details
Immutable coverage: MSXOrg/docs
1b0d4893c8fefabe604d04393068a8ff6f848082tocd29fcb9d2fe3247aca71ae4f137279c0e8ed1cd. Five small logical commits are pushed. This draft opened after the first complete improvement,abfd5a48850124a565f71930ad6db3892af924ba, before the rest of the assigned part was implemented. The diff changes only the 10 declared Markdown paths below: 174 insertions and 164 deletions. The worktree is clean.Full-read dispositions: every assigned page was read in full, including examples, native help, and handwritten PowerShell index content. Paths below are relative to
src/docs/Coding-Standards/.PowerShell/Classes.mdreach forbecomesuse;behaviourbecomesbehavior. Class selection, member order, and the complete class example remain unchanged.PowerShell/Functions.mdfor free,honour, andbreadcrumbsbecome direct feature, error-action, and diagnostic descriptions. Native help, parameter sets, output contracts, and SHOULD force remain intact. WhatIf retains the existing state-change condition.PowerShell/index.mdgluing tools together,string surgery, andquietly winningbecome tool integration, custom string manipulation, and an accidental write that fails. The generated INDEX block is unchanged.PowerShell/Messaging.mdplumbingbecomes implementation details. The false Debug/termination/automatic-visibility statements are corrected without changing the diagnostic-channel policy.PowerShell/Requires-Modules.mdflow in,would break you, andfalse greenbecome accepted releases, an incompatible next major, and a false-success result. GUID is explicitly declared metadata, not a content hash or proof of publisher authenticity.PowerShell/Scripts.mdflow in,would break you,freeze out patches, andreach for itbecome available patches, an incompatible-major bound, excluded later patches, and a separate declared-identity control.PowerShell/Testing.mdPowerShell/Version-Constraints.mdTerraform.mdlabelledbecomeslabeled; dependency-graph rationale identifies redundant depends_on entries directly. Version, state, naming, and module controls are unchanged.TypeScript.mdquietly drops users,escape hatch, andwhen a needed API landsbecome explicit compatibility-floor and type-exception guidance. Exact dependency pins, the engine caret exception, paired single-commit updates, and the package-error example are unchanged.YAML.mdnext yearbecomes existing content and later additions. All three MUST obligations, the pre-commit filename exception, and native suppression example remain unchanged.Test-first evidence and preservation: ten page-level prose cases failed before editing and pass after it. The three Messaging factual cases and three GUID qualification cases also have recorded before/after evidence. Read-only comparisons preserve all 22 fenced blocks, every original inline identifier in order, every numeric/version literal, every heading/anchor, all generated source INDEX content, navigation keys, and uppercase normative keywords. Manual review preserves the conditional controls and requirement force; the function-help description retains SHOULD rather than becoming mandatory.
The only added code spans are
$InformationPreference,SilentlyContinue,-InformationAction Continue,-ErrorAction Stop,$ErrorActionPreference = 'Stop', and-TargetObject. These explain existing runtime conditions. No original inline identifier or executable example is removed or changed. The GUID qualification adds no identifier, version, or pinning-policy change.Source and factual evidence: the fixed-baseline Documentation Model, Natural Language, Technical Writing Guide, Markdown, Documentation, and Standard template supplied the writing criteria. The official STEMG overview/FAQ and relevant Issue 9 rules and dictionary were consulted. The PDF/extract remain local; the PDF MD5 is
9c720341c350ed77943b2c73d01c716f. Automated scans and counts do not establish full STE conformance.Exact PowerShell 7.6.9 probe commands/results verify Debug metadata/output, continued execution for ErrorAction Continue, catchable termination for both Stop controls, hidden information by default, and displayed information with InformationAction Continue. Companion probes verify structured TargetObject context and conditional WhatIf availability. Immutable MicrosoftDocs/PowerShell-Docs sources are
5f46b78db1f0b6593e1854c5fefdea75abd13e52for common parameters and3bcc275f46fd8537780ee1549c0862bb0266e06cfor Write-Error and Write-Information.The GUID definition uses MicrosoftDocs/PowerShell-Docs
364305cae1cd43135147df815661f0a1dddd9967,reference/7.6/Microsoft.PowerShell.Core/About/about_Module_Manifests.md#guid. Two local manifests with equal declared GUID/version and different anonymous descriptions have different SHA-256 values; both pass Test-ModuleManifest. This verifies the metadata/content distinction, not package signing or gallery trust. The Task retains the source, exact declared values, hashes, and bounded interpretation.Final validation at
cd29fcb9d2fe3247aca71ae4f137279c0e8ed1cd:zensical build --clean --strict: no issues. A second copied-index Check passes. Only the expected Coding Standards and PowerShell index copies regenerate; source tables remain untouched.5768663442approves the exact final head with 0 inline comments. Wait-CopilotReview reports a clean round. The earlier review of6c4102dis not used as final-head evidence.The declared Zensical 0.0.59 was restored in isolated session storage only after the installed 0.0.50 failed the version preflight. Repository requirements and the global installation are unchanged. No tool or dependency is added to the repository.
Standards and framework alignment:
PowerShell/pagesTerraform.mdTypeScript.mdYAML.mdAccepted differences and exclusions: exact technical terms, commands, native help, code examples, imperative instructions, normative target contracts, and generated descriptions retain their purpose. Observed Pester exit-code evidence retains its tested versions and unknown cause. A normative requirement is not proof of implementation or enforcement. The shared standards, GitHub Actions page, top-level index, all code/configuration/tests, and #240 remain untouched. No heading, page path, requirement, or enforcement mechanism is added. No repository audit/planning file is created. No cross-owned anchor repair is needed; CI derives dependent index descriptions.
Unresolved interpretation: Scripts places module dependencies in #Requires, while Module Requirements excludes verdict-reporting entry scripts. Both existing contracts remain unchanged. The policy scope needs a separate clarification; this PR does not infer a new loading policy. There is no delivery blocker for the requested prose/factual slice.
Issue convergence: the scoped open-issue search used PowerShell, Terraform, TypeScript, YAML, and language in titles. #55 requires new display UX policy, and #136 requires updater implementation; neither is delivered by this diff. No additional issue converges. Only the native Task below is closed on a later merge.
This PR remains DRAFT and open. It is not marked ready or merged. No auto-merge or Agent merge action is taken; GitHub auto_merge is null.
Related references