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.
- engineering_process/__init__.py +3 -0
- engineering_process/_download_worker.py +73 -0
- engineering_process/_supervisor_posix.py +162 -0
- engineering_process/_supervisor_windows.py +148 -0
- engineering_process/_windows_job.py +419 -0
- engineering_process/bootstrap.py +217 -0
- engineering_process/bundles.py +81 -0
- engineering_process/cli.py +1012 -0
- engineering_process/contracts.py +1274 -0
- engineering_process/distribution.py +90 -0
- engineering_process/environment.py +753 -0
- engineering_process/helper_launch.py +37 -0
- engineering_process/lifecycle.py +1024 -0
- engineering_process/managed.py +89 -0
- engineering_process/markdown.py +78 -0
- engineering_process/publication.py +463 -0
- engineering_process/requirements-build.txt +1 -0
- engineering_process/requirements-dev.txt +10 -0
- engineering_process/requirements-runtime.txt +3 -0
- engineering_process/runner.py +191 -0
- engineering_process/runtime.py +55 -0
- engineering_process/skills.py +118 -0
- engineering_process/supervision.py +72 -0
- engineering_process/syncing.py +398 -0
- engineering_process/tooling.py +891 -0
- engineering_process-0.1.0.data/data/share/engineering-process/bundles.json +47 -0
- engineering_process-0.1.0.data/data/share/engineering-process/examples/change.json +26 -0
- engineering_process-0.1.0.data/data/share/engineering-process/examples/plan.json +28 -0
- engineering_process-0.1.0.data/data/share/engineering-process/examples/project.json +54 -0
- engineering_process-0.1.0.data/data/share/engineering-process/examples/review.json +31 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/change.schema.json +88 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/lifecycle.schema.json +122 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/plan.schema.json +105 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/process-lock.schema.json +39 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/project.schema.json +515 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/review.schema.json +140 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/reviewer-attestation.schema.json +30 -0
- engineering_process-0.1.0.data/data/share/engineering-process/schemas/verification.schema.json +120 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/assess-design/SKILL.md +39 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/build-frontend/SKILL.md +38 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/build-frontend-foundation/SKILL.md +36 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/change-api/SKILL.md +36 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/cross-repo-change/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/define-change-contract/SKILL.md +40 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/design-module/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/evolve-process/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/finish-change/SKILL.md +34 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/govern-ui/SKILL.md +40 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-change/SKILL.md +41 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-module/SKILL.md +36 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/implement-use-case/SKILL.md +36 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/integrate-mcp/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/maintain-docs/SKILL.md +35 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/plan-change/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/publish-change/SKILL.md +38 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/review-change/SKILL.md +49 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/run-change/SKILL.md +51 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/run-change/references/execution.md +88 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/run-project-command/SKILL.md +55 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/specify-use-case/SKILL.md +37 -0
- engineering_process-0.1.0.data/data/share/engineering-process/skills/verify-change/SKILL.md +38 -0
- engineering_process-0.1.0.data/data/share/engineering-process/templates/AGENTS.process.md +17 -0
- engineering_process-0.1.0.data/data/share/engineering-process/templates/PULL_REQUEST_TEMPLATE.md +27 -0
- engineering_process-0.1.0.dist-info/METADATA +387 -0
- engineering_process-0.1.0.dist-info/RECORD +69 -0
- engineering_process-0.1.0.dist-info/WHEEL +5 -0
- engineering_process-0.1.0.dist-info/entry_points.txt +2 -0
- engineering_process-0.1.0.dist-info/licenses/LICENSE +21 -0
- 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.
|
engineering_process-0.1.0.data/data/share/engineering-process/skills/run-project-command/SKILL.md
ADDED
|
@@ -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.
|
engineering_process-0.1.0.data/data/share/engineering-process/skills/specify-use-case/SKILL.md
ADDED
|
@@ -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 -->
|
engineering_process-0.1.0.data/data/share/engineering-process/templates/PULL_REQUEST_TEMPLATE.md
ADDED
|
@@ -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 -->
|