Repository navigation
Deployment guidance states the approved-effect contract directly - #262
Open
Marius Storhaug (MariusStorhaug) wants to merge 4 commits into
Open
Marius Storhaug (MariusStorhaug) wants to merge 4 commits into
Marius Storhaug (MariusStorhaug) wants to merge 4 commits into
Conversation
Open
7 tasks done
There was a problem hiding this comment.
🟢 Approved
No active review issues were identified for this documentation-only clarification of the deployment approval contract.
No open issues 🎉
What changed in this PR
This documentation-only change clarifies the deployment capability’s approval contract: one decision covers the code and its resource effects across all environments, and deployment applies exactly those approved effects.
Changes:
- Replaces vague explanations with direct, present-tense prose.
- Renames the Problem heading while preserving its published anchor.
- Describes intended delivery outcomes without claiming this edit implements or measures them.
| File | Description |
|---|---|
src/docs/Capabilities/deployment/spec.md |
Clarifies the approval contract, user needs, and intended outcomes while preserving the existing Problem anchor. |
Review effort: Balanced
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:31
19fe23b
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:38
8882fff
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:43
41fe005
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
November 4, 2026 14:43
This branch has not been deployed
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.
Deployment guidance states the approved-effect contract in direct, evergreen, en-US prose. Contributors, reviewers, operators, and their agents get a clear explanation of one approval for the code and every environment's resource effect, followed by deployment of exactly that approved effect. No consumer action or deployment change is required.
Changed: Deployment guidance explains approval and resource effects directly
The spec replaces vague and time-dependent explanations with concrete, present-tense statements. The indexes distinguish the technology-independent contract from each combination-specific design. The Azure-from-GitHub design explains saved plans, state validity, identity, emergency access, and audit records without idioms. Direct procedures retain direct commands.
The approved-effect, reapproval, fail-closed, concurrency, emergency, audit, environment, trust, and state contracts remain unchanged. This PR changes guidance, not deployment behavior or enforcement. The DORA statements describe intended outcomes, not measured implementation results.
Technical details
Immutable scope. MSXOrg/docs
1b0d4893c8fefabe604d04393068a8ff6f848082to41fe0058730ba9fc759c211aac124ea135813176. Four small commits change only the four assigned Markdown pages: 218 insertions and 215 deletions. The final head is pushed and the worktree is clean. This is a scoped documentation-change record, not an artifact-release record. The effective workflows validate and publish a Zensical site and do not invoke Release Management.Full reads and changed paths. Every owned page was read in full before editing and the full baseline-to-head diff was reviewed after editing. No whole owned page remains unchanged.
src/docs/Capabilities/deployment/spec.mdsrc/docs/Capabilities/deployment/index.mdsrc/docs/Capabilities/deployment/designs/index.mdsrc/docs/Capabilities/deployment/designs/azure-from-github.mdConcrete before/after evidence.
first-class, reviewable thingBefore deployment, the process computes and shows the effect on every environment in the promotion path.Problem and why nowProblem {#problem-and-why-now}from a proposal to liveThe team approves the code change and all these effects as one decision.Entra rides the Azure identity contextazureadprovider uses the same federated token and Azure identity context, with no separate Entra ID secret.native backstopThis state check is the native guard for FR5.The requirement remains linked.serialised,authorised,cancelled,serialisation,defencein proseserialized/serializes,authorized,canceled,serialization,defenseTechnical-meaning review. Each original FR/NFR and design mechanism was compared with the edited text. NFR2 retains distinct read-only and environment-scoped write forms of access; it does not add a separate-principal policy to the spec. The design keeps its existing two-identity mechanism. The complete review retains exact approved plans and hashes, per-environment state serial/lineage, reapproval after invalidation, no concurrent or interrupted applies, required tests, restricted emergency access with reason/incident/follow-up, immutable attribution, drift, OIDC, and trust boundaries.
Preservation and anchor evidence. A one-time baseline comparison confirms three exact fenced blocks, one exact generated block, unchanged front matter, ordered inline code, Markdown link targets, autolinks, and all 14 requirement IDs/anchors. The MUST/MUST NOT/SHOULD sequence is unchanged within every requirement. Only the Problem heading and FR6 spelling change. The old published-site
problem-and-why-nowattr_list ID and all 14 FR/NFR IDs appear exactly once in the actual final CI-built HTML. GitHub implicit-heading-anchor compatibility is not claimed. No tracked links depended on the old implicit Problem or FR6 heading slug, so no cross-owned repair is needed.Validation. Repeatable commands and full results are also retained in the delivery Task.
markdownlint-cli2with--no-install,.github/linters/.markdown-lint.yml, and the four explicit owned pathspwsh -NoLogo -NoProfile -File .\.github\scripts\Test-DocumentationLink.ps1pwsh -NoLogo -NoProfile -File .\.github\scripts\Test-CrossRepositoryLink.ps1zensical build --clean --config-file .\src\zensical.tomlrequirements.txt; build succeeds; actualgithub-pagesartifact inspectedpwsh -NoLogo -NoProfile -File .\.github\scripts\Invoke-PesterSuite.ps1git diff 1b0d4893c8fefabe604d04393068a8ff6f848082 41fe0058730ba9fc759c211aac124ea135813176 --checkand changed-path comparisonWait-CopilotReview.ps1after each push41fe0058730ba9fc759c211aac124ea135813176at 2026-11-04T12:46:42Z; zero new inline commentsThe pinned-build anchor evidence comes from artifact ID
13321579755, namegithub-pages, from the successful final-head Docs run. The inspected TAR member is./Capabilities/deployment/spec/index.html; its SHA-256 is067e56568d4c80dcdc3f94b6893e4391f3c12c79ca8ec1bad91146091b597eec. The artifact TAR SHA-256 is5910dc357989b5fbeef7610a4bc07c594cf788fbcfe1f7292acd27334e26e69a. This verifies the actual pinned output instead of treating the older local installation as equivalent. No local dependency upgrade or new tooling is needed.The final anonymous cross-link attempt hit the shared GitHub API quota and reported five unresolvable links, not broken targets. A retry with the existing GitHub CLI credential in process-local
GITHUB_TOKENpasses. A transient second-commit push rejection also resolves with an ordinary fast-forward retry. No history rewrite, dependency installation, or credential persistence is used.Standards and framework alignment. Criteria were derived before edits from the fixed-commit Documentation Model, Natural Language, Writing Guide, Markdown, Documentation, and spec/design templates linked in the Task. The official STEMG overview/FAQ and relevant Issue 9 rules and dictionary entries were consulted. The local PDF hash matches the verified reference; the PDF and extract remain local. These checks do not certify full ASD-STE100 conformance.
Delivery plan and convergence. The delivery Task's source review, full reads, test-first prose-verification plan, spec/index/design steps, final full-diff review, and checks are complete. The issue retains the detailed source and before-text evidence. A narrow open-issue search for
deployment in:titlefinds only the delivery Task; no additional issue is fully resolved by this diff.Exclusions and limitations. No other capability, shared index, process page, code, configuration, or test file changes. #240 remains outside scope. Frozen Gherkin spelling, Mermaid labels, YAML comments, exact commands, technical terms, and generated content are accepted differences. No live Azure or Terraform deployment was attempted. Normative design intent is not proof of implementation or enforcement. No remaining substantive contradiction was identified in the owned pages, and there is no remaining blocker.
The PR remains draft. It is not marked ready or merged, and auto-merge and Agent merge are not enabled.
Related references