Skip to content

Merge stable into develop#1107

Merged
ogenstad merged 5 commits into
developfrom
stable
Jun 29, 2026
Merged

Merge stable into develop#1107
ogenstad merged 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
@ogenstad ogenstad merged commit 0997944 into develop Jun 29, 2026
33 checks passed
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