Skip to content

Merge stable into develop#1107

Open
infrahub-github-bot-app[bot] wants to merge 5 commits into
developfrom
stable
Open

Merge stable into develop#1107
infrahub-github-bot-app[bot] wants to merge 5 commits into
developfrom
stable

Conversation

@infrahub-github-bot-app

@infrahub-github-bot-app infrahub-github-bot-app Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Merging stable into develop after merging pull request #1106.


Summary by cubic

Clarified the upsert guard for pool-sourced HFID attributes to prevent non-idempotent save(allow_upsert=True) calls. Upgraded Spec Kit to 0.11.9 and added OpsMill agent skills with shared quality gates plus the agent-context extension to keep coding agent context files in sync after specify/plan.

  • New Features

    • Added OpsMill skills for commit/PR/rebase/CI monitoring and issue/PRD workflows, with shared quality-gates and a ship-gate check hook to enforce independent verification.
    • Introduced agent-context extension and speckit.agent-context.update to refresh managed sections in agent context files (supports multiple files and configurable markers), wired to run after specify and plan; includes bash/powershell scripts.
  • Bug Fixes

    • Reworded _validate_upsert in infrahub_sdk/node/node.py to explain the non-idempotent behavior of CoreNumberPool-sourced HFID attributes; updated the resource manager guide; added unit and integration tests capturing backend behavior and the new message.

Written for commit 4179e7a. Summary will update on new commits.

Review in cubic

…tes (#1106)

The ValidationError raised by _validate_upsert claimed the upsert "cannot
resolve the HFID without a concrete value", implying a backend crash. Since
#312 the SDK no longer sends the HFID in the upsert payload, so that premise
is stale. The real problem is different: a CoreNumberPool assigns a new value
on every creation, so a pool-sourced HFID attribute is never stable, an upsert
can never match an existing node by it, and every run would silently create a
duplicate.

Reword the error message and docstring to describe this, and point to the
idempotent alternatives (look the node up by a stable field and reuse it, or
set an explicit id). Update the resource manager guide to match and replace
the misleading "two-step pattern" with the lookup-and-reuse pattern that the
demo generators actually use.

Add an integration test characterising the real backend behaviour (a no-id
upsert creates and allocates the pool value; a re-run duplicates) and extend
the unit test to cover the new message.

Refs #339, #396
@infrahub-github-bot-app infrahub-github-bot-app Bot requested a review from a team as a code owner June 26, 2026 15:34
@github-actions github-actions Bot added the type/documentation Improvements or additions to documentation label Jun 26, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 26, 2026

Copy link
Copy Markdown

Deploying infrahub-sdk-python with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4179e7a
Status: ✅  Deploy successful!
Preview URL: https://46b82172.infrahub-sdk-python.pages.dev

View logs

dgarros and others added 3 commits June 28, 2026 09:56
@codecov

codecov Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@           Coverage Diff            @@
##           develop    #1107   +/-   ##
========================================
  Coverage    82.15%   82.16%           
========================================
  Files          138      138           
  Lines        11896    11896           
  Branches      1784     1784           
========================================
+ Hits          9773     9774    +1     
+ Misses        1575     1572    -3     
- Partials       548      550    +2     
Flag Coverage Δ
integration-tests 41.18% <ø> (+0.05%) ⬆️
python-3.10 55.25% <ø> (-0.02%) ⬇️
python-3.11 55.27% <ø> (+0.01%) ⬆️
python-3.12 55.25% <ø> (ø)
python-3.13 55.25% <ø> (-0.02%) ⬇️
python-3.14 55.25% <ø> (-0.02%) ⬇️
python-filler-3.12 22.74% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
infrahub_sdk/node/node.py 87.57% <ø> (+0.09%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

chore: add opsmill agentic skills for commit, PR, and issue workflows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type/documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants