engineering-process 1.2.3__tar.gz → 1.2.4__tar.gz
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-1.2.3/engineering_process.egg-info → engineering_process-1.2.4}/PKG-INFO +5 -1
- {engineering_process-1.2.3 → engineering_process-1.2.4}/README.md +4 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/__init__.py +1 -1
- {engineering_process-1.2.3 → engineering_process-1.2.4/engineering_process.egg-info}/PKG-INFO +5 -1
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/review-change/SKILL.md +25 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/pyproject.toml +1 -1
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_lifecycle.py +28 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/LICENSE +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/MANIFEST.in +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/__main__.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_contract.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_posix.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_windows.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_windows_job.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/adoption.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/cli.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/commands.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/contracts.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/distribution.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/helper_launch.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/lifecycle.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/production_engineering.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/project.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/publication_compat.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/release.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/repository.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/requirements-dev.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/requirements-runtime.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/skills.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/supervision.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/SOURCES.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/dependency_links.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/entry_points.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/requires.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/top_level.txt +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process-graph.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/finish-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/implement-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/improve-process/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/plan-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/production-engineering/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/production-engineering/invariants.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/run-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/start-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/verify-change/SKILL.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/change.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/plan.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/process-graph.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/process-lock.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/production-engineering.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/project-legacy.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/project.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/receipt.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/release-change.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/release.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/review.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/run.schema.json +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/setup.cfg +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/templates/AGENTS.process.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/templates/PULL_REQUEST_TEMPLATE.md +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/templates/adopt-process-windows-job.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/templates/adopt-process.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_adoption.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_architecture.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_automation.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_cli.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_commands.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_contracts.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_distribution.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_production_engineering.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_publication_compat.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_pypi_cache_horizon.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_release.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_repository.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_skills.py +0 -0
- {engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_supervisor_posix.py +0 -0
{engineering_process-1.2.3/engineering_process.egg-info → engineering_process-1.2.4}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: engineering-process
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.4
|
|
4
4
|
Summary: A small agent-neutral engineering lifecycle with managed adoption
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/phuongnse/engineering-process
|
|
@@ -352,6 +352,10 @@ URL; without it, the review remains pending. Earlier plan and review documents r
|
|
|
352
352
|
readable, and their runs remain registrable or finishable with the version selected by
|
|
353
353
|
the authority that started the relevant phase.
|
|
354
354
|
|
|
355
|
+
The [finding priority definitions](process_assets/skills/review-change/SKILL.md#finding-priority)
|
|
356
|
+
are the canonical P0-P3 impact convention for this process, including examples and
|
|
357
|
+
their relationship to blocking decisions.
|
|
358
|
+
|
|
355
359
|
## Running a change
|
|
356
360
|
|
|
357
361
|
Create and validate a change contract, then register it:
|
|
@@ -328,6 +328,10 @@ URL; without it, the review remains pending. Earlier plan and review documents r
|
|
|
328
328
|
readable, and their runs remain registrable or finishable with the version selected by
|
|
329
329
|
the authority that started the relevant phase.
|
|
330
330
|
|
|
331
|
+
The [finding priority definitions](process_assets/skills/review-change/SKILL.md#finding-priority)
|
|
332
|
+
are the canonical P0-P3 impact convention for this process, including examples and
|
|
333
|
+
their relationship to blocking decisions.
|
|
334
|
+
|
|
331
335
|
## Running a change
|
|
332
336
|
|
|
333
337
|
Create and validate a change contract, then register it:
|
{engineering_process-1.2.3 → engineering_process-1.2.4/engineering_process.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: engineering-process
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.4
|
|
4
4
|
Summary: A small agent-neutral engineering lifecycle with managed adoption
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Project-URL: Homepage, https://github.com/phuongnse/engineering-process
|
|
@@ -352,6 +352,10 @@ URL; without it, the review remains pending. Earlier plan and review documents r
|
|
|
352
352
|
readable, and their runs remain registrable or finishable with the version selected by
|
|
353
353
|
the authority that started the relevant phase.
|
|
354
354
|
|
|
355
|
+
The [finding priority definitions](process_assets/skills/review-change/SKILL.md#finding-priority)
|
|
356
|
+
are the canonical P0-P3 impact convention for this process, including examples and
|
|
357
|
+
their relationship to blocking decisions.
|
|
358
|
+
|
|
355
359
|
## Running a change
|
|
356
360
|
|
|
357
361
|
Create and validate a change contract, then register it:
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/review-change/SKILL.md
RENAMED
|
@@ -62,3 +62,28 @@ Follow-up scope is only carried findings, remediation diffs, and regressions aga
|
|
|
62
62
|
the frozen contract. A new blocker must be either remediation-caused or a P0/P1 late
|
|
63
63
|
violation with a rationale. After two correction cycles, another changes-requested
|
|
64
64
|
verdict blocks the change; it never turns into approval or permission to skip review.
|
|
65
|
+
|
|
66
|
+
## Finding priority
|
|
67
|
+
|
|
68
|
+
P0-P3 are this process's review-impact convention. Assess the consequences if the
|
|
69
|
+
finding remains unresolved in a supported scenario. Consumer scheduling and incident
|
|
70
|
+
response deadlines remain consumer-owned.
|
|
71
|
+
|
|
72
|
+
| Priority | Impact | Illustrative example |
|
|
73
|
+
| --- | --- | --- |
|
|
74
|
+
| P0 - critical | Catastrophic loss of essential operation, authoritative data, or a critical security guarantee. | Irrecoverable loss of the only authoritative dataset. |
|
|
75
|
+
| P1 - high | Severe failure of a core workflow or guarantee, below P0's catastrophic consequences. | A primary workflow produces wrong results that can be regenerated from intact inputs. |
|
|
76
|
+
| P2 - medium | Material but contained incorrect behavior or operational or maintenance cost; core workflows remain usable. | A recoverable failure in a secondary workflow with a safe alternative. |
|
|
77
|
+
| P3 - low | Minor inconvenience or clarity or consistency defect with little effect on behavior or reliability. | An unclear optional explanation when all required steps remain unambiguous. |
|
|
78
|
+
|
|
79
|
+
Choose the highest level whose consequences the evidence supports. Explain affected
|
|
80
|
+
guarantees, reach, preconditions, recoverability, and safe alternatives. Examples are
|
|
81
|
+
illustrative, not an exhaustive classifier; file type, finding category, keywords,
|
|
82
|
+
and ease of repair do not determine priority.
|
|
83
|
+
|
|
84
|
+
Severity follows whether the reviewed snapshot violates the accepted contract or an
|
|
85
|
+
applicable production invariant; priority is not a waiver. A P2 or P3 finding can
|
|
86
|
+
therefore be blocking. The existing P0/P1 restriction on a new `critical-late` blocker
|
|
87
|
+
is an eligibility condition, not permission to block without the required bounded
|
|
88
|
+
late rationale. Preserve carried finding priorities and historical reports under the
|
|
89
|
+
existing correction-cycle rules.
|
|
@@ -793,6 +793,34 @@ class LifecycleTests(unittest.TestCase):
|
|
|
793
793
|
(self.root / ".process" / "runs" / "sample-change").exists()
|
|
794
794
|
)
|
|
795
795
|
|
|
796
|
+
def test_live_producer_policy_requires_its_accepted_issue(self) -> None:
|
|
797
|
+
project = json.loads((PROCESS_ROOT / ".process" / "project.json").read_text())
|
|
798
|
+
self.project["lifecycle"]["processChanges"] = project["lifecycle"]["processChanges"]
|
|
799
|
+
self.contract["consumerEvidence"] = [
|
|
800
|
+
{"repository": "engineering-process", "incident": "Deferred issue handoff enablement."}
|
|
801
|
+
]
|
|
802
|
+
for source in (
|
|
803
|
+
"issue-110",
|
|
804
|
+
"https://github.com/other/process/issues/110",
|
|
805
|
+
"https://github.com/phuongnse/engineering-process/pull/118",
|
|
806
|
+
):
|
|
807
|
+
with self.subTest(source=source):
|
|
808
|
+
self.contract["source"] = source
|
|
809
|
+
write_json(self.contract_path, self.contract)
|
|
810
|
+
with self.assertRaisesRegex(ProcessError, "numbered issue"):
|
|
811
|
+
start_change(
|
|
812
|
+
self.root, PROCESS_ROOT, self.project, self.contract_path,
|
|
813
|
+
actor_id="author", context_id="author-context", kind="agent",
|
|
814
|
+
)
|
|
815
|
+
self.assertFalse((self.root / ".process" / "runs").exists())
|
|
816
|
+
self.contract["source"] = "https://github.com/phuongnse/engineering-process/issues/110"
|
|
817
|
+
write_json(self.contract_path, self.contract)
|
|
818
|
+
state = start_change(
|
|
819
|
+
self.root, PROCESS_ROOT, self.project, self.contract_path,
|
|
820
|
+
actor_id="author", context_id="author-context", kind="agent",
|
|
821
|
+
)
|
|
822
|
+
self.assertEqual("specified", state["phase"])
|
|
823
|
+
|
|
796
824
|
def test_evidence_only_process_change_policy_remains_compatible(self) -> None:
|
|
797
825
|
self.project["lifecycle"]["processChanges"] = {
|
|
798
826
|
"requireConsumerEvidence": True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_contract.py
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_posix.py
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/_supervisor_windows.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/helper_launch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/publication_compat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/requirements-dev.txt
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process/requirements-runtime.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/requires.txt
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/engineering_process.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/finish-change/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/plan-change/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/run-change/SKILL.md
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/start-change/SKILL.md
RENAMED
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/process_assets/skills/verify-change/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/schemas/production-engineering.schema.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/templates/adopt-process-windows-job.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_process-1.2.3 → engineering_process-1.2.4}/tests/test_production_engineering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|