engineering-process 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. engineering_process/__init__.py +3 -0
  2. engineering_process/_download_worker.py +73 -0
  3. engineering_process/_supervisor_posix.py +162 -0
  4. engineering_process/_supervisor_windows.py +148 -0
  5. engineering_process/_windows_job.py +419 -0
  6. engineering_process/bootstrap.py +217 -0
  7. engineering_process/bundles.py +81 -0
  8. engineering_process/cli.py +1012 -0
  9. engineering_process/contracts.py +1274 -0
  10. engineering_process/distribution.py +90 -0
  11. engineering_process/environment.py +753 -0
  12. engineering_process/helper_launch.py +37 -0
  13. engineering_process/lifecycle.py +1024 -0
  14. engineering_process/managed.py +89 -0
  15. engineering_process/markdown.py +78 -0
  16. engineering_process/publication.py +463 -0
  17. engineering_process/requirements-build.txt +1 -0
  18. engineering_process/requirements-dev.txt +10 -0
  19. engineering_process/requirements-runtime.txt +3 -0
  20. engineering_process/runner.py +191 -0
  21. engineering_process/runtime.py +55 -0
  22. engineering_process/skills.py +118 -0
  23. engineering_process/supervision.py +72 -0
  24. engineering_process/syncing.py +398 -0
  25. engineering_process/tooling.py +891 -0
  26. engineering_process-0.1.0.data/data/share/engineering-process/bundles.json +47 -0
  27. engineering_process-0.1.0.data/data/share/engineering-process/examples/change.json +26 -0
  28. engineering_process-0.1.0.data/data/share/engineering-process/examples/plan.json +28 -0
  29. engineering_process-0.1.0.data/data/share/engineering-process/examples/project.json +54 -0
  30. engineering_process-0.1.0.data/data/share/engineering-process/examples/review.json +31 -0
  31. engineering_process-0.1.0.data/data/share/engineering-process/schemas/change.schema.json +88 -0
  32. engineering_process-0.1.0.data/data/share/engineering-process/schemas/lifecycle.schema.json +122 -0
  33. engineering_process-0.1.0.data/data/share/engineering-process/schemas/plan.schema.json +105 -0
  34. engineering_process-0.1.0.data/data/share/engineering-process/schemas/process-lock.schema.json +39 -0
  35. engineering_process-0.1.0.data/data/share/engineering-process/schemas/project.schema.json +515 -0
  36. engineering_process-0.1.0.data/data/share/engineering-process/schemas/review.schema.json +140 -0
  37. engineering_process-0.1.0.data/data/share/engineering-process/schemas/reviewer-attestation.schema.json +30 -0
  38. engineering_process-0.1.0.data/data/share/engineering-process/schemas/verification.schema.json +120 -0
  39. engineering_process-0.1.0.data/data/share/engineering-process/skills/assess-design/SKILL.md +39 -0
  40. engineering_process-0.1.0.data/data/share/engineering-process/skills/build-frontend/SKILL.md +38 -0
  41. engineering_process-0.1.0.data/data/share/engineering-process/skills/build-frontend-foundation/SKILL.md +36 -0
  42. engineering_process-0.1.0.data/data/share/engineering-process/skills/change-api/SKILL.md +36 -0
  43. engineering_process-0.1.0.data/data/share/engineering-process/skills/cross-repo-change/SKILL.md +37 -0
  44. engineering_process-0.1.0.data/data/share/engineering-process/skills/define-change-contract/SKILL.md +40 -0
  45. engineering_process-0.1.0.data/data/share/engineering-process/skills/design-module/SKILL.md +37 -0
  46. engineering_process-0.1.0.data/data/share/engineering-process/skills/evolve-process/SKILL.md +37 -0
  47. engineering_process-0.1.0.data/data/share/engineering-process/skills/finish-change/SKILL.md +34 -0
  48. engineering_process-0.1.0.data/data/share/engineering-process/skills/govern-ui/SKILL.md +40 -0
  49. engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-change/SKILL.md +41 -0
  50. engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-module/SKILL.md +36 -0
  51. engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-use-case/SKILL.md +36 -0
  52. engineering_process-0.1.0.data/data/share/engineering-process/skills/integrate-mcp/SKILL.md +37 -0
  53. engineering_process-0.1.0.data/data/share/engineering-process/skills/maintain-docs/SKILL.md +35 -0
  54. engineering_process-0.1.0.data/data/share/engineering-process/skills/plan-change/SKILL.md +37 -0
  55. engineering_process-0.1.0.data/data/share/engineering-process/skills/publish-change/SKILL.md +38 -0
  56. engineering_process-0.1.0.data/data/share/engineering-process/skills/review-change/SKILL.md +49 -0
  57. engineering_process-0.1.0.data/data/share/engineering-process/skills/run-change/SKILL.md +51 -0
  58. engineering_process-0.1.0.data/data/share/engineering-process/skills/run-change/references/execution.md +88 -0
  59. engineering_process-0.1.0.data/data/share/engineering-process/skills/run-project-command/SKILL.md +55 -0
  60. engineering_process-0.1.0.data/data/share/engineering-process/skills/specify-use-case/SKILL.md +37 -0
  61. engineering_process-0.1.0.data/data/share/engineering-process/skills/verify-change/SKILL.md +38 -0
  62. engineering_process-0.1.0.data/data/share/engineering-process/templates/AGENTS.process.md +17 -0
  63. engineering_process-0.1.0.data/data/share/engineering-process/templates/PULL_REQUEST_TEMPLATE.md +27 -0
  64. engineering_process-0.1.0.dist-info/METADATA +387 -0
  65. engineering_process-0.1.0.dist-info/RECORD +69 -0
  66. engineering_process-0.1.0.dist-info/WHEEL +5 -0
  67. engineering_process-0.1.0.dist-info/entry_points.txt +2 -0
  68. engineering_process-0.1.0.dist-info/licenses/LICENSE +21 -0
  69. engineering_process-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: maintain-docs
3
+ description: Maintain durable documentation, diagrams, links, status text, routing, and ownership without duplicating product or process decisions. Use when guidance changes, when renamed or retired concepts may drift, or when documentation consistency must be verified.
4
+ ---
5
+
6
+ # Maintain Documentation
7
+
8
+ ## Goal
9
+
10
+ Keep one authoritative owner per fact and make every dependent document point to it.
11
+
12
+ ## Workflow
13
+
14
+ 1. Classify the content as product behavior, architecture, process, enforcement,
15
+ operations, navigation, or generated output.
16
+ 2. Locate the project-declared owner. Preserve the domain decision supplied by that
17
+ owner; documentation maintenance does not invent it.
18
+ 3. Edit the owner once, replace duplicate rules with links, and remove stale names,
19
+ session history, temporary status, and superseded instructions.
20
+ 4. Update diagrams or generated documentation from their declared source rather than
21
+ editing derived output independently.
22
+ 5. Run the smallest documentation checks declared by the project verification
23
+ profiles. Validate changed links and anchors when their targets moved.
24
+ 6. Apply the retirement sweep and report unresolved ownership or generation gaps.
25
+
26
+ ## Hard gates
27
+
28
+ - Do not move product, architecture, or release authority into a documentation skill.
29
+ - Do not keep approval provenance or conversational history as durable policy.
30
+ - Do not duplicate a reusable process rule in a consumer project.
31
+
32
+ ## Output
33
+
34
+ Return the owner changed, duplicates removed, generated artifacts, retirement sweep,
35
+ verification evidence, and unresolved ownership decisions.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: plan-change
3
+ description: Build and register an executable implementation plan from a specified change contract. Use after change specification and required sign-off, before editing implementation files for any non-trivial engineering change.
4
+ ---
5
+
6
+ # Plan a Change
7
+
8
+ ## Goal
9
+
10
+ Convert accepted outcomes and project policy into one bounded, reviewable execution
11
+ plan without changing implementation source.
12
+
13
+ ## Workflow
14
+
15
+ 1. Read lifecycle status, the registered change contract, nearest AGENTS.md, and only
16
+ the project owners needed for the affected surface.
17
+ 2. Trace callers, consumers, trust boundaries, tests, migrations, generated outputs,
18
+ documentation, and retirement work far enough to define complete work items.
19
+ 3. Record ordered work items with owned paths and verification profiles. Map every
20
+ acceptance criterion to at least one work item and project-owned profile.
21
+ 4. Record concrete risks and mitigations. Leave behavior-changing ambiguity as an
22
+ open decision; do not plan around it.
23
+ 5. Validate the plan with processctl contract validate --kind plan, then register it
24
+ with processctl change plan. Implementation remains blocked while required
25
+ sign-off or open decisions remain.
26
+
27
+ ## Hard gates
28
+
29
+ - Do not edit implementation files during planning.
30
+ - Do not omit required security, compatibility, data, accessibility, rollout, or
31
+ rollback work merely to reduce scope.
32
+ - Do not invent project commands; select profiles from .process/project.json.
33
+
34
+ ## Output
35
+
36
+ Return change id, lifecycle phase, ordered work items, acceptance mapping, risks,
37
+ open decisions, required profiles, and next owner.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: publish-change
3
+ description: Publish or update a branch, pull request, or equivalent review object after the engineering lifecycle completes. Use only when the user authorizes a remote publication action or asks to change publication metadata.
4
+ ---
5
+
6
+ # Publish a Change
7
+
8
+ ## Goal
9
+
10
+ Publish one approved immutable checkpoint through the project-owned remote workflow
11
+ without duplicating implementation, verification, or review.
12
+
13
+ ## Workflow
14
+
15
+ 1. Classify the exact authorized remote action and read the project publication
16
+ policy and current lifecycle status.
17
+ 2. For source publication, require a current completion record whose checkpoint and
18
+ workspace fingerprint match the source being published.
19
+ 3. Populate the managed PR-description sections with project-specific facts. Run
20
+ processctl publication validation for branch, commit range, PR title, body, and
21
+ draft/ready state; then run any stronger project-declared publication checks.
22
+ 4. Perform only the authorized remote action. Preserve draft state unless ready state
23
+ was explicitly requested.
24
+ 5. Record the remote identifier and status. Treat any later source change as a new
25
+ lifecycle cycle with invalidated publication readiness.
26
+
27
+ ## Hard gates
28
+
29
+ - Never infer authorization to commit, push, open, merge, release, or deploy.
30
+ - Do not publish source with stale evidence or unresolved required findings.
31
+ - Do not replace, omit, or weaken the managed publication sections or standard
32
+ requirements; projects may append stricter metadata and checklists.
33
+ - Metadata-only work may skip code implementation only when project policy permits it.
34
+
35
+ ## Output
36
+
37
+ Return action, change id, checkpoint, completion evidence, metadata validation,
38
+ remote state, and blockers.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: review-change
3
+ description: Independently review an immutable verified change against its contract, plan, project policy, diff, and current evidence, then produce structured findings and an approval or changes-requested verdict. Use only from a reviewer actor and isolated context that did not implement the reviewed cycle.
4
+ ---
5
+
6
+ # Review a Change
7
+
8
+ ## Goal
9
+
10
+ Evaluate correctness, security, compatibility, maintainability, and evidence at a
11
+ specific checkpoint without changing the reviewed source.
12
+
13
+ ## Workflow
14
+
15
+ 1. Accept the review only in a reviewer actor and isolated context that did not
16
+ implement the current cycle. Use the host's isolated-review mechanism or a
17
+ separate human reviewer; if separation cannot be attested, report blocked.
18
+ 2. Register the assignment with processctl change review start. Confirm its
19
+ checkpoint, comparison base, contract, plan, and required verification reports
20
+ refer to the same immutable source.
21
+ 3. Read the diff and only the project-owned contracts needed to evaluate affected
22
+ behavior and trust boundaries.
23
+ 4. Record actionable findings with severity, exact location, evidence, and status.
24
+ Separate defects from questions, optional improvements, and unsupported claims.
25
+ Resolved, deferred, and false-positive findings require resolution evidence.
26
+ Deferred remains unresolved and completion-blocking unless a future process
27
+ contract introduces an explicit owner-approved exception.
28
+ 5. Request changes when any required finding remains open or deferred. Approve only
29
+ when required outcomes and evidence are complete for the reviewed checkpoint.
30
+ 6. Validate the report with processctl contract validate --kind review, then submit
31
+ it with processctl change review submit. A coordinator may transport the assigned
32
+ reviewer's exact artifact; the host or human attester owns its authenticity. The
33
+ CLI rejects implementation identity reuse at assignment, stale evidence, missing
34
+ carried findings, assignment mismatches, and checkpoint mismatches.
35
+ 7. Return findings to the implementation owner. Review never silently edits,
36
+ publishes, or expands the accepted scope.
37
+
38
+ ## Hard gates
39
+
40
+ - Do not approve stale, indirect, missing, or blocked evidence.
41
+ - Do not treat review prose as more authoritative than project contracts.
42
+ - A reviewer must not intentionally mutate the checkpoint under review.
43
+ - The reviewer actor id and context id must both be independent from every
44
+ implementation actor and context recorded for the current cycle.
45
+
46
+ ## Output
47
+
48
+ Return the structured report, attested reviewer identity, verdict, reviewed
49
+ checkpoint and base, unresolved findings, lifecycle phase, and invalidated evidence.
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: run-change
3
+ description: Orchestrate a non-trivial engineering change through specification, planning, implementation, checkpoint verification, independent review, finding resolution, and completion. Use as the default entry skill whenever a project change must be delivered rather than merely explained or diagnosed.
4
+ ---
5
+
6
+ # Run a Change
7
+
8
+ ## Goal
9
+
10
+ Drive one canonical lifecycle from request to auditable completion while project
11
+ owners retain product decisions, domain policy, commands, and publication authority.
12
+
13
+ ## Required reference
14
+
15
+ Read [references/execution.md](references/execution.md) completely before starting or
16
+ resuming a change. It defines universal execution, blocker, evidence, and delegation
17
+ semantics shared by every project.
18
+
19
+ ## Lifecycle
20
+
21
+ 1. Run processctl doctor and inspect processctl change status when a change id exists.
22
+ 2. Route the current phase without creating a parallel plan or checklist:
23
+ - no registered change: use define-change-contract;
24
+ - specified: use plan-change;
25
+ - planned or changes-requested: use implement-change;
26
+ - implementing: use verify-change after a clean immutable checkpoint exists;
27
+ - verified: obtain a separate reviewer through review-change;
28
+ - review-pending: wait for the assigned reviewer; do not self-review;
29
+ - approved: use finish-change;
30
+ - completed: stop unless publication was separately authorized.
31
+ 3. Apply the nearest AGENTS.md and domain skill inside each phase. Project policy may
32
+ add stronger gates but cannot remove lifecycle phases, baseline profiles,
33
+ independent review, evidence freshness, or finding closure.
34
+ 4. After a valid finding, preserve the reviewed checkpoint, begin the next
35
+ implementation cycle, resolve the finding, and repeat every invalidated profile
36
+ and independent review.
37
+ 5. Report the processctl phase, cycle, current evidence, blockers, and next owner.
38
+ Never call a task complete from prose alone.
39
+
40
+ ## Hard gates
41
+
42
+ - Do not edit implementation before specification, required sign-off, and planning.
43
+ - Do not review work produced by the same actor or context.
44
+ - Do not convert missing, stale, failed, timed-out, or blocked evidence into a pass.
45
+ - Do not publish, merge, release, deploy, or perform destructive cleanup unless the
46
+ user separately authorized that project-owned action.
47
+
48
+ ## Output
49
+
50
+ Return change id, phase, cycle, decisions, current evidence, gaps, blockers, next
51
+ owner, and completion record when finished.
@@ -0,0 +1,88 @@
1
+ # Portable Execution Contract
2
+
3
+ Apply these semantics throughout every change lifecycle.
4
+
5
+ ## Universal gates
6
+
7
+ 1. Read the full active skill, this reference, the nearest AGENTS.md, and the affected
8
+ project owners before editing.
9
+ 2. Follow phase order. A stated stop condition blocks dependent work.
10
+ 3. Defer a specific accepted outcome only with explicit approval and an owner. A skip
11
+ never waives dependent gates implicitly.
12
+ 4. Reuse evidence only while its artifact, checkpoint, workspace fingerprint,
13
+ command, environment, and acceptance boundary remain current.
14
+ 5. Remove superseded implementation and guidance when compatibility is not required.
15
+ Do not preserve a retired path as an undocumented safety default.
16
+ 6. Separate development completion from commit creation, publication, merge, release,
17
+ deployment, and destructive data operations.
18
+
19
+ ## Change-driven scope
20
+
21
+ Map affected paths, callers, consumers, trust boundaries, migrations, generated
22
+ artifacts, documentation, and evidence-required dependencies to complete work items.
23
+ Run the smallest profile that proves each accepted outcome. Use a broader profile only
24
+ when cross-cutting invalidation, inseparable dependencies, or project policy requires
25
+ it. Do not infer broad completion from a focused check.
26
+
27
+ ## Engineering method
28
+
29
+ 1. Trace the governing contract and real flow before choosing an owner or design.
30
+ 2. Prefer no change, existing code, the standard library, native platform behavior,
31
+ and installed dependencies before custom mechanisms, while preserving required
32
+ safety and acceptance behavior.
33
+ 3. For a defect, prove the smallest reliable failure first, state one hypothesis, test
34
+ one variable, implement the root-cause fix, and prove the behavior afterward.
35
+ 4. Treat a proposed path as a workaround when it changes the required owner, runtime,
36
+ authority, trust boundary, invariant, or evidence boundary merely to keep moving.
37
+ Return to specification and planning instead.
38
+ 5. Keep one writer for overlapping source. Delegate bounded disjoint work only when
39
+ the host supports it and the handoff preserves exact scope, permissions, stop
40
+ conditions, and evidence ownership.
41
+
42
+ ## Blocker protocol
43
+
44
+ When progress depends on user-controlled or external state:
45
+
46
+ 1. Classify repository defect, missing product decision, or external-state blocker.
47
+ 2. Reproduce through the smallest permitted boundary and preserve the exact command,
48
+ exit status, error, environment, and missing authority.
49
+ 3. Continue safe read-only diagnosis, but stop mutation at authentication, consent,
50
+ permission, host setup, destructive action, or approval boundaries.
51
+ 4. Do not substitute a different command, library, runtime, environment, proxy,
52
+ credential path, disabled control, or indirect API as evidence for the required
53
+ boundary.
54
+ 5. Report `Blocker`, `Evidence`, `Boundary`, `User action or decision needed`, and
55
+ `Safe next step after confirmation`.
56
+
57
+ ## Independent review
58
+
59
+ Review begins only after all baseline and change-required profiles pass on one clean
60
+ immutable checkpoint. The reviewer must be a read-only actor and context unused by
61
+ the current implementation cycle. The agent host or human organization attests that
62
+ identity separation; processctl validates the attestation structure and rejects
63
+ identity reuse or stale evidence.
64
+
65
+ A running or pending reviewer means review pending, not failure or approval. The
66
+ reviewer reads the assignment, diff, contracts, plan, and existing evidence; it runs
67
+ only a focused reproducer for a concrete finding or evidence gap. It never edits
68
+ tracked source or Git state. Any source mutation invalidates the assignment.
69
+
70
+ An open required finding produces changes-requested. Preserve its checkpoint and
71
+ evidence, classify the finding against the owning contract, implement the smallest
72
+ correct resolution in a new cycle, and repeat invalidated verification and review.
73
+
74
+ ## Completion audit
75
+
76
+ Map every acceptance criterion to current source and required verification. Require
77
+ an approved independent review for the exact same checkpoint and workspace
78
+ fingerprint, with no open required finding. Missing, stale, indirect, or blocked
79
+ evidence remains incomplete. processctl completion is an engineering result, not
80
+ publication or release authorization.
81
+
82
+ ## Process improvement
83
+
84
+ Classify a validated defect or finding as local behavior, reusable process semantics,
85
+ deterministic enforcement, portability gap, or obsolete guidance. Fix the smallest
86
+ correct owner, add regression proof for deterministic behavior, and remove duplicate
87
+ or superseded rules. Do not memorialize an incident as ceremony without evidence of
88
+ the reusable class.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: run-project-command
3
+ description: Select, execute, and maintain reproducible project commands for setup, diagnosis, generation, testing, local development, verification, and continuous integration. Use when choosing an executable proof, changing command topology, or handling a blocked project prerequisite.
4
+ ---
5
+
6
+ # Run a Project Command
7
+
8
+ ## Goal
9
+
10
+ Use the smallest project-declared command that proves the required boundary and keep
11
+ repeatable execution deterministic.
12
+
13
+ ## Workflow
14
+
15
+ 1. Classify the moment as setup, diagnosis, exploration, implementation proof,
16
+ lifecycle verification, publication, or continuous-integration reproduction.
17
+ 2. Read `.process/project.json` and the nearest project owner. Run `processctl doctor`
18
+ for the selected environment profile. Reuse current evidence while its checkpoint,
19
+ command, environment, and acceptance boundary remain valid.
20
+ 3. Select the narrowest declared command. Use a broad profile only for cross-cutting
21
+ invalidation, an inseparable dependency, or an explicit project requirement.
22
+ 4. Confirm the command is a finite, non-interactive foreground task. Execute declared
23
+ checks through `processctl verify`, or ad-hoc foreground tasks
24
+ through `processctl exec --profile ... -- ...` so verified managed-tool bindings
25
+ and paths are injected. Keep secrets out of arguments and
26
+ evidence. Do not run commands concurrently when they share mutable build outputs.
27
+ 5. On a missing prerequisite, use `processctl setup` to inspect the complete plan.
28
+ Apply it only with explicit approval for every declared mutation scope. On failure,
29
+ preserve the exact command, exit status, environment, and missing prerequisite. Do
30
+ not substitute another runtime or evidence boundary.
31
+ 6. Declare pinned portable tool artifacts with immutable checksums; acquisition,
32
+ verification, safe extraction, atomic installation, and command binding remain
33
+ distribution-owned. Add project-native dependency commands or deterministic checks
34
+ only in the manifest; consumers do not reimplement process machinery.
35
+
36
+ ## Hard gates
37
+
38
+ - Native read-only inspection is not verification evidence unless declared as such.
39
+ - Do not replace focused missing evidence with an unrelated broad suite.
40
+ - Do not install tools, change host trust, or mutate external state without authority.
41
+ - Treat `readOnly` and command mutation scopes as project-owner attestations, not a
42
+ sandbox. Reject an incomplete scope declaration instead of assuming confinement.
43
+ - Run only foreground commands. A declared command must not daemonize, create a
44
+ detached session, or leave background work behind; portable POSIX execution cannot
45
+ contain a process that deliberately escapes its owned process group.
46
+ - Keep detached services, interactive shells, log followers, watchers, and stdio
47
+ servers in their project-owned lifecycle. Do not force them through the finite-task
48
+ executor or use them as verification checks.
49
+ - An installer exit code is not readiness evidence; the declared probe must pass after
50
+ setup.
51
+
52
+ ## Output
53
+
54
+ Return moment, selected commands and reasons, results, reused evidence, omitted broad
55
+ checks, blockers, and next verification boundary.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: specify-use-case
3
+ description: Create or repair an implementation-independent product use-case contract with actors, outcomes, flows, acceptance criteria, test boundaries, decisions, and scope. Use when requested behavior is missing, ambiguous, contradictory, or not ready for implementation.
4
+ ---
5
+
6
+ # Specify a Use Case
7
+
8
+ ## Goal
9
+
10
+ Produce a testable product contract without inventing behavior or mixing current
11
+ implementation details into expected outcomes.
12
+
13
+ ## Workflow
14
+
15
+ 1. Locate the project-declared product owner and related contracts, code, tests, and
16
+ vocabulary. Surface conflicts instead of resolving them silently.
17
+ 2. Define the primary actor goal, preconditions, trigger, success and minimal
18
+ guarantees, main flow, alternate and failure flows, and explicit boundaries.
19
+ 3. Keep behavior observable and implementation-independent. Link shared technical
20
+ constraints to their architecture owner instead of copying them.
21
+ 4. Write cohesive acceptance criteria and map each to the lowest reliable acceptance
22
+ boundary. Keep unresolved behavior as a decision, not a required test.
23
+ 5. Define compatibility only from supported consumers and data. Record an intentional
24
+ clean replacement when overlap is not required.
25
+ 6. Validate the contract with project-declared documentation and link checks, then
26
+ register the approved scope through the shared change lifecycle.
27
+
28
+ ## Hard gates
29
+
30
+ - Do not invent identifiers, authorization, integrations, data, or product behavior.
31
+ - Do not begin implementation while a behavior-changing decision remains blocking.
32
+ - Do not encode framework or storage choices unless interoperability is the outcome.
33
+
34
+ ## Output
35
+
36
+ Return owner, readiness, actors, flows, acceptance scope, test boundaries, decisions,
37
+ compatibility, validation evidence, and blockers.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: verify-change
3
+ description: Select and run project-owned verification profiles, preserve exact checkpoint evidence, and advance a planned change only when all required profiles pass. Use after implementation, after review fixes, or before an independent-review readiness claim.
4
+ ---
5
+
6
+ # Verify a Change
7
+
8
+ ## Goal
9
+
10
+ Produce current, reproducible evidence for the acceptance outcomes affected by the
11
+ change while avoiding unrelated broad verification.
12
+
13
+ ## Workflow
14
+
15
+ 1. Read the lifecycle state, change contract, nearest AGENTS.md, and
16
+ .process/project.json.
17
+ 2. Map each affected acceptance outcome to the smallest project-owned profile that
18
+ proves it. Reuse still-current evidence and expand scope only when invalidation or
19
+ project policy requires it.
20
+ 3. Use processctl change verify for lifecycle evidence. Use processctl verify only
21
+ for exploratory or focused evidence that is not intended to advance the lifecycle.
22
+ Do not substitute a different command, runtime, trust boundary, or environment
23
+ when a required check is blocked.
24
+ 4. Bind evidence to the current repository checkpoint and workspace fingerprint.
25
+ Any relevant edit or source mutation during verification invalidates the evidence.
26
+ 5. Report failed, timed-out, missing, and blocked checks exactly; never convert them
27
+ into a pass or an implicit deferral.
28
+
29
+ ## Hard gates
30
+
31
+ - Project manifests own commands; this skill must not invent replacement commands.
32
+ - A focused check cannot prove a broader acceptance boundary than it exercises.
33
+ - Verification does not publish, merge, deploy, or approve a change.
34
+
35
+ ## Output
36
+
37
+ Return change id, cycle, profiles, checkpoint, check statuses, evidence report
38
+ locations, lifecycle phase, gaps, and the next owner.
@@ -0,0 +1,17 @@
1
+ <!-- engineering-process:start -->
2
+ ## Engineering process
3
+
4
+ Use the portable skills pinned by `.process/process.lock` for every non-trivial
5
+ change. Enter through `run-change` and use `processctl change ...` for specification,
6
+ planning, implementation registration, checkpoint verification, independent review,
7
+ finding resolution, and completion.
8
+
9
+ The project owns product decisions, domain contracts, exact verification commands,
10
+ and publication authority. The process distribution owns lifecycle semantics and
11
+ managed skills. Do not edit managed skills in this repository; update the pinned
12
+ distribution and synchronize them instead.
13
+
14
+ Independent review requires an attested read-only actor and context that did not
15
+ implement the current cycle. No particular agent host is required. Missing or stale
16
+ evidence, self-review, and publication without separate authorization are blocking.
17
+ <!-- engineering-process:end -->
@@ -0,0 +1,27 @@
1
+ <!-- engineering-process:pr-description:start -->
2
+ ## Summary
3
+
4
+ <!-- State what changed and why. Use project language; do not list commits or CI jobs. -->
5
+
6
+ ## Contract and scope
7
+
8
+ <!-- Link the owning spec, change contract, issue, or decision. State explicit N/A with a reason. -->
9
+
10
+ ## Impact and risk
11
+
12
+ <!-- Describe user/developer impact, compatibility, migrations, rollout, and residual risk. -->
13
+
14
+ ## Verification
15
+
16
+ <!-- List exact current commands/evidence and any blocked or intentionally omitted boundary. -->
17
+
18
+ ## Independent review
19
+
20
+ <!-- Record reviewer separation, reviewed checkpoint, verdict, and required-finding status. -->
21
+
22
+ ## Requirements and rules followed
23
+
24
+ - [ ] **Scope and contract** — accepted scope is implemented without unapproved expansion. [status: pending]
25
+ - [ ] **Verification evidence** — required current profiles pass on the published checkpoint. [status: pending]
26
+ - [ ] **Independent review** — a separate reviewer approved the published checkpoint with no open required finding. [status: pending]
27
+ <!-- engineering-process:pr-description:end -->