Skip to content

docs(infrastructure-resource-manager): add Infrastructure Resource Manager PRD - #4409

Merged
MikeFalcon77 merged 2 commits into
constructorfabric:mainfrom
parviz-93:docs/rms-prd
Aug 11, 2026
Merged

MikeFalcon77 merged 2 commits into
constructorfabric:mainfrom
parviz-93:docs/rms-prd

Conversation

@parviz-93

@parviz-93 parviz-93 commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

Description

Add the Product Requirements Document for the Infrastructure Resource Manager (IRM) gear at gears/infrastructure-resource-manager/docs/PRD.md (v1.0.0, DRAFT — open for contributor review). The gear name follows the review-meeting decision recorded in #4319 ("Infrastructure Resource Manager") and the platform's kebab-case convention; the artifact is picked up by the Constructor Studio registry autodetect.

The document went through multiple review passes (full per-layer semantic review against the PRD checklist, closure verification, a focused inbound/outbound dependency review, an adversarial spec review, and a maintainer validation round). All findings are resolved or explicitly dispositioned; open decisions are tracked in §16 with owners and dates.

Refs #4319. Supersedes #4408.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Testing

  • Unit tests pass (N/A — docs-only change)
  • Integration tests pass (N/A — docs-only change)
  • Manual testing completed (make cfs-validate: 0 errors; cfs validate --artifact, validate-toc, check-language: clean; 122 cpt-cf-infrastructure-resource-manager-* IDs, traceability verified with no dangling references)
  • New tests added for new functionality (N/A)

Documentation

  • Code is documented with rustdoc comments (N/A)
  • README updated (N/A)
  • API documentation updated (N/A)

Checklist

  • Code follows project style guidelines (PRD template structure incl. §18 Traceability; stable CPT IDs; RFC-2119 usage; kebab-case gear name)
  • Self-review completed (multi-pass semantic review, findings dispositioned)
  • No linting errors (cargo clippy) (N/A — docs-only change)
  • Code is properly formatted (cargo fmt) (N/A — docs-only change)
  • Tests pass (cargo test) (N/A — docs-only change)

Related Issues

Refs #4319

@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (1)
  • gears/infrastructure-resource-manager/docs/PRD.md
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5b3f6160-9d31-4a94-b1ef-fdc05a058324

📥 Commits

Reviewing files that changed from the base of the PR and between 5638d00 and e702a7c.

📒 Files selected for processing (1)
  • gears/infrastructure-resource-manager/docs/PRD.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@code-ranker-app

code-ranker-app Bot commented Aug 4, 2026 •

Copy link
Copy Markdown
Contributor

code-ranker report for this PR (built on fork): https://reports.code-ranker.com/S2bhYADybqYLlTr99v9iVg/

@parviz-93

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@parviz-93
parviz-93 marked this pull request as draft August 4, 2026 11:19
@parviz-93
parviz-93 marked this pull request as ready for review August 5, 2026 02:26
@parviz-93
parviz-93 force-pushed the docs/rms-prd branch 2 times, most recently from 3f2eccd to d23c0e0 Compare August 5, 2026 03:56
@parviz-93

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

@parviz-93

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

@parviz-93
parviz-93 force-pushed the docs/rms-prd branch 2 times, most recently from e2738ba to d6d2b60 Compare August 5, 2026 10:21
@parviz-93 parviz-93 changed the title docs(resource-management): add Resource Management PRD docs(infrastructure-resource-manager): add Infrastructure Resource Manager PRD Aug 5, 2026
@parviz-93

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

No files to review.

…nager PRD

Signed-off-by: parviz-93 <rozikovp@gmail.com>

@MikeFalcon77 MikeFalcon77 left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.


| **Field** | **Value** |
|-----------|----------|
| **Applicable Manifest(s)** | Not referenced — this PRD is self-contained. The rows below state the architecture context in its own terms. |

@MikeFalcon77 MikeFalcon77 Aug 6, 2026 •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note: Gear is not registered in the platform architecture map. docs/GEARS.md is the architecture index — every gear has a section there with a category

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not fixed in this commit: docs/GEARS.md is a separate file. IRM is already in the backend roadmap: issue #4319 (milestone 26.09). We will add the IRM section (category, scenarios, PRD link) and link #4319. One question: can we edit docs/GEARS.md ourselves in this PR, or does that file have an owner and a separate process? The category will follow the placement decision (see the line-165 thread).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs/GEARS.md has no CODEOWNERS entry — from docs/ only /docs/arch/authorization is owned (@aviator5). Recent edits to it come from three different people, so there is no gate. You can add the section yourselves.

I'd put it in a separate small PR so this one stays docs-only for a single gear, but that's preference, not process.

Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md
Comment thread gears/infrastructure-resource-manager/docs/PRD.md Outdated
Apply the agreed dispositions for all 34 comments of the 2026-08-06
review round (10 accepted, 20 accepted with a different fix, 4 declined
with rationale in the PR threads).

Removals:
- Model-migration workstream: scope row 24, fr-model-migration,
  usecase-migrate-tenant, acceptance criterion 66, the migration risk
  row, fr-relationship-backfill, and the event-namespace clauses.
  IRM starts from scratch; existing provider resources enter through
  discovery and adoption.

Risk and decision tracking:
- Section 15: six new rows - platform type-publication path, Token
  Issuer (constructorfabric#4321), Grant Issuance Service, durable-execution substrate,
  drift ownership residual, post-restore idempotency exposure.
- Section 16: new and extended questions - final placement, Token
  Issuer realization, MVP first slice, RG SLO gap, RG write contract,
  adapter-contract validation against VHI/OpenStack as first adapter,
  metric emission; the executor plugin is named (vhp-core
  Temporal-based reference implementation).
- Section 13: new Readiness column; informative Policy Decision
  Service mapping; constructorfabric#4321 reference; central outbound egress path role
  with OAGW as the current implementation.

Requirement changes:
- fr-plan-binding defines current state as the recorded state.
- fr-ordered-execution: recovery is explicit rollback.
- fr-secret-hygiene narrowed to cross-tenant non-correlation; IRM
  provisions its own per-tenant key; salt assumption dropped.
- Orphan capacity evaluated at plan admission over aggregate detaches.
- Three operation-overlap rules: action vs apply, cancel vs cascade
  teardown, group move vs apply.
- Tenant assignment wraps resources in an anonymous deployment and
  seeds desired state from observed configuration.
- Placement invariant scoped to IRM records; reconciler rule and
  resource_type partition key stated.
- fr-policy-gating holds admitted capacity to the terminal state.
- fr-adapter-egress rewritten over the egress-path role (+ AC 52);
  cross-reference in fr-adapter-async-protocol.
- Post-restore refresh gate (new nfr-restore-gate).
- Per-tenant revision retention window bounds fr-rollback.
- Operation-catalog re-submission semantics; package-format
  compatibility sentence in the adapter contract entry.
- Conventions row records OData (filter/orderby, cursor pagination);
  interface section notes no gRPC projection in this release.
- Scope legend: p1 = must ship in the first release; rows 10, 25, 28
  re-tiered to p2.
- Appendix A: informative VHI/OpenStack walkthrough (package, schema,
  preview, day-2 action, discovery).

Gates: cfs validate --artifact 0 errors / 0 warnings, TOC validated,
language check clean. Stable IDs unchanged except three sanctioned
removals and one addition (nfr-restore-gate).

Signed-off-by: parviz-93 <rozikovp@gmail.com>
@MikeFalcon77
MikeFalcon77 merged commit 15af6d4 into constructorfabric:main Aug 11, 2026
12 checks passed
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.

3 participants