Skip to content

docs(decisions): add COR-040 process open region#423

Merged
aleskalfas merged 3 commits into
mainfrom
docs/417-author-the-open-region-cor
Jul 1, 2026
Merged

docs(decisions): add COR-040 process open region#423
aleskalfas merged 3 commits into
mainfrom
docs/417-author-the-open-region-cor

Conversation

@aleskalfas

@aleskalfas aleskalfas commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Closes #417.

What

Ships COR-040 — "A process may declare an open region", the last un-shipped slot in the process-substrate parking lot (EPIC #237). An open region is a single state with no internal edges + applies_to-scoped invariants + one COR-033-P4 exit gate. Boundary-enforcement is delivered as exit-gate predicate composition (the engine never blocks a move because of an invariant), so COR-035's report-only default is preserved verbatim; mutation-time fail-closed stays the binding's command-wrapper job; liveness is the binding's gate-design problem (status surfaces non-progress).

Additive un-defer of COR-033-P6 + COR-035's deferred applies_to / boundary-enforcement; supersedes nothing. Includes the minor version bump 1.132.0 → 1.133.0 for the new accepted-COR principle (PRJ-002).

Doc impact

None in this PR. The .pkit/process/README.md deferred→core row flip (open-region + applies_to / boundary-enforcement) lands with the engine task #418, not here — this PR adds the decision record and the version bump only. No migration owed (pure addition; pkit migrations check-diff clean).

Test plan

N/A for a decision-authoring PR. Review coverage: architect + critic (design) and methodology-reviewer (the authored record).

Reviews

  • Design reviewed by architect + critic (2026-07-01); the decisive fix (open region = single state; enforcement = gate composition, not move-blocking invariants) is baked in.
  • COR reviewed by methodology-reviewer — PASS, 0 blockers; additive-un-defer framing confirmed, report-only preserved verbatim.

Scope

This is Task #417 (author + accept the COR). The engine + shape contract + engine-strategy ADR is #418 (unblocked by this); grounding on trip-planning build is #419.

🤖 Generated with Claude Code

aleskalfas and others added 3 commits July 1, 2026 15:41
Ships the process substrate's deferred open-region slot (COR-033 P6): a
single state with no internal edges, region-scoped invariants (un-defers
COR-035's `applies_to`), and one COR-033-P4 exit gate. Boundary-enforcement
is delivered as exit-gate predicate composition — the engine never blocks a
move because of an invariant — so COR-035's report-only default is preserved
verbatim. Mutation-time fail-closed stays the binding's command-wrapper job;
liveness is the binding's gate-design problem (status surfaces non-progress).
Additive (no migration); grounded on trip-planning DEC-014's `build`;
supersedes nothing.

Tracked by #417. Status: proposed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Approved by Aleš Kalfas (approve-and-accept). Flips COR-040 proposed →
accepted, unblocking the engine + shape work on #418.

Status: accepted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New accepted-COR principle is a surface change (PRJ-002); broadens the
adapter's requires_backbone ceiling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aleskalfas

Copy link
Copy Markdown
Owner Author

Reviewer agent (local, reviewer): CHANGES_REQUESTED

Reviewed PR #423 (docs(decisions): add COR-040 process open region, branch docs/417-author-the-open-region-cor, closes #417) against the project-management capability's conventions. One gate-blocking finding forces the verdict.

Hard-reject (gate-blocking)

Warnings (non-blocking, worth addressing)

  • Conv-type divergence: docs vs decision for a decision-landing PR. git-conventions.yaml's branch-name block states that a PR landing a decision record (COR/PRJ/DEC/ADR) "takes the decision conv-type explicitly … overriding the closing Task's mapped type … its PR is decision(<scope>): …". This PR lands COR-040 but titles/branches as docs. The literal hard-reject rule (conv-type matches pr_type_mapping, docs→docs) is satisfied, so this is not gate-blocking — but there's an internal inconsistency: the sole authoring commit is decision(core): add COR-040 … while the PR title (and thus the squash-merge subject) is docs(decisions): …, so COR-040 would land on main under a docs commit. Recommend retitling to decision(core): add COR-040 — process open region (and, ideally, the branch to decision/417-…) to match the shipped content and the commit. ([project-management:DEC-013-branch-and-pr-conventions] / COR-008)
  • No ## Test plan section. The empty-checkbox-skeleton rule (DEC-031) targets a present-but-empty section, so outright absence isn't a mechanical hard-reject here; for a decision-authoring PR a test plan is arguably N/A. Consider a one-line ## Test plan noting review coverage (architect/critic/methodology-reviewer) for completeness.

Passing criteria (noted, not blocking)

  • Branch shape matches ^(…|docs|…)/[0-9]+-<slug>$. Closing-issue link present (Closes #417 + populated closingIssuesReferences). Issue [Docs] Author the open-region COR (additive un-defer of COR-035 applies_to + COR-033 P6) #417 classification complete (type:docs, priority:Medium, workstream:workflow).
  • Surface-change discipline: pure addition (new COR + version bump 1.132.0→1.133.0 + requires_backbone ceiling broaden); no renames/removals, no schema_version bump, no subtree restructure — no migration owed, consistent with the body's claim (COR-010, PRJ-002).
  • No-shared-files: the edits under .pkit/decisions/core/, .pkit/VERSION, and .pkit/adapters/claude-code/package.yaml are core-owned, but this is project-kit's own self-hosting source repo — core is authored here by design, so COR-001 is not violated.

Resolve the missing ## Doc impact section and re-request review; the conv-type warning is strongly recommended but not gate-blocking.

@aleskalfas

Copy link
Copy Markdown
Owner Author

Reviewer agent (local, reviewer): APPROVED

Review of PR #423 (docs(decisions): add COR-040 process open region), closing issue #417, base main.

Warnings (non-blocking):

  • PR title conv-type vs. the decision-landing override. The title is docs(decisions): …, which mechanically satisfies the mapping — issue [Docs] Author the open-region COR (additive un-defer of COR-035 applies_to + COR-033 P6) #417 carries type:docs, and pr_type_mapping sends docs → docs, so the hard-reject branch/title rules in git-conventions.yaml pass. But this PR lands a decision record (COR-040), and the branch-name convention's decision note ([project-management:DEC-013-branch-and-pr-conventions], echoing [COR-008]) says such a PR "takes the decision conv-type explicitly … overriding the closing Task's mapped type." The PR's own commits already follow that (decision(core): add COR-040 …, decision(core): accept COR-040 …). Because merge is squash-with-delete-branch and the squash subject = PR title, the base-branch commit will read docs(decisions): … rather than decision(core): …, diverging from the project's decision conv-type for decision-landing changes. Worth realigning the title to decision(core): … before merge, but the schema's severity model makes this a warning, not a gate block.

Criteria that pass, worth noting given the self-host context:

  • No-shared-files ([COR-001]). The diff writes .pkit/decisions/core/COR-040-…md and .pkit/adapters/claude-code/package.yaml — normally core/adapter-owned trees an adopter must not touch. This repo is the methodology source that self-hosts, so authoring a core decision record and auto-broadening the adapter's requires_backbone ceiling is this repo's sanctioned product work, not an invariant breach. No violation.
  • Surface-change discipline ([COR-010]). Pure addition — a new COR file plus a .pkit/VERSION bump (1.132.0 → 1.133.0) and the paired requires_backbone broaden. No renames/removals, no schema_version bump, no subtree restructure; the record itself asserts additive/no-migration and the body reports pkit migrations check-diff clean. No migration owed.
  • Branch shape & type alignment ([project-management:DEC-013]). docs/417-author-the-open-region-cor matches ^(feat|fix|docs|test|refactor|chore|ci|decision)/[0-9]+-…$, and docs matches issue type:docs per pr_type_mapping.
  • Classification complete ([project-management:DEC-012]). Issue [Docs] Author the open-region COR (additive un-defer of COR-035 applies_to + COR-033 P6) #417 carries type:docs, priority:Medium, and workstream:workflow.
  • Closing-issue link ([project-management:DEC-013]). Body opens Closes #417. and closingIssuesReferences is populated; required ## Doc impact and ## Test plan sections are present with authored (non-skeleton) content.

No hard-reject or unaudited bypassable-with-audit findings → verdict follows mechanically to APPROVED.

@aleskalfas aleskalfas merged commit 573f0bc into main Jul 1, 2026
1 check passed
@aleskalfas aleskalfas deleted the docs/417-author-the-open-region-cor branch July 1, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs] Author the open-region COR (additive un-defer of COR-035 applies_to + COR-033 P6)

1 participant