Skip to content

[codex] v2.6.0 DX and docs consolidation#27

Merged
IgnazioDS merged 3 commits intomainfrom
branch/release-v2.6.0
Mar 7, 2026
Merged

[codex] v2.6.0 DX and docs consolidation#27
IgnazioDS merged 3 commits intomainfrom
branch/release-v2.6.0

Conversation

@IgnazioDS
Copy link
Owner

Summary

This release cuts SentinelID v2.6.0 and focuses on developer experience and documentation consolidation. The repository had drift between the docs, helper scripts, and the actual command path we validate in CI. That showed up most clearly in the beginner flow: copying .env.example into .env and following the runbook was not fully deterministic, and several docs still pointed people at raw scripts or outdated variable names instead of the canonical Make targets.

The effect on users was avoidable setup churn. New contributors could land on contradictory guidance, helper scripts could silently depend on local state that the docs never asked them to create, and release-check did not guard against those documentation regressions. In practice, the path a maintainer used in CI and the path a beginner used locally were close, but not actually the same.

This change makes the command surface explicit and enforceable. The runbook now centers on make install-dev, make demo-up, make demo-verify, make demo, make demo-down, and make release-check. The release checklist now fails if the key docs drift back to deprecated script invocations or ambiguous env names. The fresh-clone bootstrap check now validates the runbook path from a clean snapshot of the current branch instead of assuming hidden local state.

Root Cause

The repository had three underlying sources of drift:

  1. The docs still mixed canonical Make targets with direct script calls and legacy environment names.
  2. The beginner path depended on values and dependencies that were not actually provided by cp .env.example .env plus the documented install steps.
  3. Some runtime smoke scripts assumed a specific local Python/Poetry layout instead of resolving the in-project runtime deterministically.

What Changed

  • Bumped the release line to v2.6.0 across release-critical docs, Make help text, desktop config/package metadata, pilot evidence text, and cloud API metadata.
  • Added canonical wrappers:
    • make install-dev
    • make check-version-consistency
    • make check-docs-consistency
    • make check-fresh-clone
  • Added scripts/release/check_docs_consistency.sh and integrated it into make release-check.
  • Added scripts/check_fresh_clone_bootstrap.sh to validate the documented beginner path from a clean temp snapshot.
  • Added docs/archive/README.md and enforced that docs/ root stays free of phase*.md files.
  • Reworked .env.example so the default local admin auth values are runnable for the documented demo path.
  • Updated key docs to consistently reference canonical Make targets instead of raw script sequences.
  • Fixed local/CI parity issues in the smoke/bootstrap path:
    • make install-dev now creates the edge virtualenv in-project.
    • scripts/smoke_test_cloud.sh now resolves the Poetry-managed edge interpreter correctly.
    • scripts/smoke_test_cloud_recovery.sh and release edge startup paths now prefer .venv/bin/python -m uvicorn.
    • Edge runtime dependencies now explicitly declare cryptography in apps/edge/pyproject.toml.
    • Recovery smoke now allows a longer cold-start timeout for fresh-clone environments.
  • Added automated coverage for docs consistency and the no-phase*.md rule.

Validation

Local validation completed on this branch:

  • make check-version-consistency
  • make check-docs-consistency
  • source apps/cloud/.venv/bin/activate && python -m pytest apps/cloud/tests/test_release_docs_consistency.py apps/cloud/tests/test_release_observability_scripts.py
  • make check-fresh-clone
  • make demo-up
  • DEMO_AUTO_CLOSE_SECONDS=20 make demo
  • make demo-down
  • make release-check

Notes

  • The two untracked audit PDFs in the working tree were left untouched and were not included in this branch.

@IgnazioDS
Copy link
Owner Author

@codex review

@IgnazioDS
Copy link
Owner Author

Follow-up pushed in 9249136 to make docs-consistency lint portable when ripgrep is unavailable and to add a no-rg regression test.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5afe4ec9f8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@IgnazioDS
Copy link
Owner Author

Follow-up pushed in 87de90c. The docs-consistency gate now requires full command-token matches, and there is a regression test proving longer commands like make demo-up and make build-desktop-web no longer satisfy shorter canonical commands.

@IgnazioDS IgnazioDS merged commit 0d05c6a into main Mar 7, 2026
5 checks passed
@IgnazioDS IgnazioDS deleted the branch/release-v2.6.0 branch March 7, 2026 15:22
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.

1 participant