Skip to content

chore(release): prepare v1.0.0 - #374

Merged
mohanagy merged 3 commits into
developmentfrom
release/v1.0.0
Aug 11, 2026
Merged

chore(release): prepare v1.0.0#374
mohanagy merged 3 commits into
developmentfrom
release/v1.0.0

Conversation

@mohanagy

@mohanagy mohanagy commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • finalize @lubab/miftah@1.0.0 package and lockfile metadata;
  • establish the stable Semantic Versioning policy for configuration, CLI, MCP names, audit records, package exports, and plugin ABI;
  • update the README, compatibility guides, v1 readiness snapshots, security-review status, changelog, and release contracts;
  • record the maintainer-attested external counts and security-report completion without inventing participant, reviewer, severity, remediation, or provider details that were not supplied;
  • resolve the newly disclosed transitive advisories tracked by [Security] Remove newly disclosed vulnerable transitive packages before v1.0.0 #373 and reject stale nested copies in package contracts;
  • regenerate the bundled test fixture after the dependency refresh.

Evidence boundary

The maintainer reported 5/5 completed external workflows, 3 returning participants, 3 unaided evaluators, and a completed security report, and explicitly authorized closure of the related issues. The participant records and completed report were not independently inspected in this release-preparation session. Documentation and changelog text preserve that distinction. This PR does not independently assert provider coverage, reviewer attribution, severity counts, remediation, or final-candidate delta acceptance.

Security refresh

  • fast-uri 3.1.5
  • ip-address 10.3.1
  • hono 4.12.34
  • brace-expansion 5.0.9
  • nanoid 3.3.17

Both npm audit --omit=dev and full npm audit report zero vulnerabilities.

Validation

  • supported Node 24 full suite: 146 files passed; 1,847 tests passed; 34 skipped;
  • npm run test:core: 429 passed; 26 skipped;
  • npm run test:coverage: 1,847 passed; 34 skipped; 95.67% statements;
  • lint;
  • typecheck;
  • build;
  • CLI schema smoke;
  • package-content verification;
  • installed-package contract: 31 passed;
  • npm audit --omit=dev;
  • npm audit;
  • git diff --check.

The final release still requires exact-head protected CI on development, reviewed promotion to main, an exact-main v1.0.0 GitHub Release, protected OIDC publication, registry provenance, fresh-install verification, and signature verification before #39 can close.

Refs #373.
Refs #39.

Summary by CodeRabbit

  • New Features

    • Released Miftah 1.0.0 as a stable version with Semantic Versioning compatibility commitments.
    • Updated installation guidance and package references to @lubab/miftah@1.0.0.
    • Documented supported configuration formats, plugin ABI compatibility, and migration requirements for breaking changes.
  • Security

    • Updated security-related dependency versions and validation coverage.
  • Documentation

    • Updated release, API, CLI, evaluation, and compatibility guidance for stable v1.
    • Recorded validation and security-review status with clearer evidence limitations.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7dd37261-d92b-44d1-886c-564668efde4d

📥 Commits

Reviewing files that changed from the base of the PR and between bb3240c and b4d942c.

📒 Files selected for processing (3)
  • docs/oauth-console-validation.md
  • tests/readme-product-contract.test.ts
  • tests/v1-readiness-docs-contract.test.ts

📝 Walkthrough

Walkthrough

Miftah moves from version 0.5.8 to stable 1.0.0. The change updates Semantic Versioning policies, release and validation documentation, security dependency overrides, and contract tests for patched packages and release evidence.

Changes

Stable release preparation

Layer / File(s) Summary
Release metadata and dependency contracts
package.json, CHANGELOG.md, tests/package-contract.test.ts, tests/release-config.test.ts, tests/release-version.test.ts, README.md, docs/presets-and-clients.md
The package and release contracts now target 1.0.0. Dependency overrides and lockfile tests require patched versions of five transitive packages.
Stable compatibility policy
CHANGELOG.md, docs/library-api.md, docs/cli.md, docs/config.md, docs/plugins.md
Public compatibility rules now use Semantic Versioning. Incompatible API, CLI, configuration, and ABI changes require a major release.
Readiness evidence and attestations
docs/independent-security-review.md, docs/oauth-console-validation.md, docs/threat-model.md, docs/v1-evaluation.md, tests/oauth-console-validation-contract.test.ts, tests/v1-readiness-docs-contract.test.ts
Readiness documents and tests now record stable release targets, maintainer attestations, evaluation counts, and limits on independently inspected evidence.
Product and historical release documentation
README.md, docs/whats-new-in-0.5.md, tests/readme-product-contract.test.ts, tests/v050-feature-guide-contract.test.ts
Product documentation and contract tests distinguish the experimental 0.5 series from the stable 1.0 release and its later attested validation status.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • mohanagy/miftah#369: Shares the readiness documentation and contract tests for external evaluation and security-review evidence.
  • mohanagy/miftah#145: Shares strengthened nested lockfile validation for patched transitive dependencies.
  • mohanagy/miftah#299: Shares release and documentation contract updates promoted here to stable v1.0.0.

Poem

I’m a rabbit with a v1 badge,
Patches pin the path just right.
Policies mark each major change,
Attested records guide the light.
Stable carrots, fresh and bright! 🐇


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (1 error)

Check name Status Explanation Resolution
Docstring Coverage ❌ Error Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the release-preparation change and names the target version.
Description check ✅ Passed The description covers the summary, security refresh, evidence limitations, validation results, and remaining release requirements.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v1.0.0

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

coderabbitai[bot]
coderabbitai Bot previously requested changes Aug 11, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/independent-security-review.md`:
- Around line 11-13: Update the recorded review status near the existing
maintainer-attestation text in docs/independent-security-review.md (lines 11-13)
to explicitly state that attestation or deidentified records cannot close the
independent-review gate or issue `#39`; in docs/v1-evaluation.md (line 138),
require complete linked records and accepted closure gates before replacing
pending rows with completion evidence.

In `@docs/oauth-console-validation.md`:
- Around line 40-51: Update docs/oauth-console-validation.md lines 40-51 to
describe OAuth and Console as included in the 1.0.0 release candidate, not as a
stable release, while preserving the maintainer-attested external evidence
qualification. Update docs/oauth-console-validation.md line 3 to replace
“external-evidence status was accepted” with precise attestation wording. Extend
tests/v1-readiness-docs-contract.test.ts lines 67-81 with exact candidate-status
assertions and negative checks rejecting unqualified stable-release claims.

In `@docs/v1-evaluation.md`:
- Around line 5-7: The evaluation guide at docs/v1-evaluation.md lines 5-7 must
bind attested readiness evidence to `@lubab/miftah`@1.0.0, or clearly separate
baseline and candidate results; do not combine evidence across versions without
the documented delta assessment. Update tests/v1-readiness-docs-contract.test.ts
lines 25-27 to require the guide to contain the exact packageVersion candidate
string.

In `@package.json`:
- Line 3: Do not merge the release metadata change in package.json until the
final development head has passing required CI and the necessary review
approval. Before promotion, ensure the package version, lockfile, changelog, and
documented release checks are finalized.

In `@tests/readme-product-contract.test.ts`:
- Around line 64-67: Update the assertions in
tests/readme-product-contract.test.ts:64-67 to verify the documentation states
that source participant records and the completed security report are not
published in the repository. Also update
tests/v050-feature-guide-contract.test.ts:105-107 to verify that underlying
participant records are not published; both sites require direct assertion
changes alongside their existing maintainer-attestation checks.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: db8d49b7-22a4-4d87-bbc2-59d024409f67

📥 Commits

Reviewing files that changed from the base of the PR and between 3d3e446 and 6160d82.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (21)
  • CHANGELOG.md
  • README.md
  • docs/cli.md
  • docs/config.md
  • docs/independent-security-review.md
  • docs/library-api.md
  • docs/oauth-console-validation.md
  • docs/plugins.md
  • docs/presets-and-clients.md
  • docs/threat-model.md
  • docs/v1-evaluation.md
  • docs/whats-new-in-0.5.md
  • package.json
  • tests/fixtures/fake-upstream-bundled.mjs
  • tests/oauth-console-validation-contract.test.ts
  • tests/package-contract.test.ts
  • tests/readme-product-contract.test.ts
  • tests/release-config.test.ts
  • tests/release-version.test.ts
  • tests/v050-feature-guide-contract.test.ts
  • tests/v1-readiness-docs-contract.test.ts

Comment thread docs/independent-security-review.md Outdated
Comment thread docs/oauth-console-validation.md Outdated
Comment thread docs/v1-evaluation.md Outdated
Comment thread package.json
Comment thread tests/readme-product-contract.test.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/oauth-console-validation.md (1)

44-51: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Keep the external-evidence version boundary consistent.

The v1 evaluation protocol limits the attested counters to the 0.5.8 baseline, but the OAuth/Console page and its contract test do not enforce that boundary.

  • docs/oauth-console-validation.md#L44-L51: State that the 5/3/3 counters apply only to the 0.5.8 baseline.
  • tests/v1-readiness-docs-contract.test.ts#L89-L97: Assert the baseline-only wording.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/oauth-console-validation.md` around lines 44 - 51, Update
docs/oauth-console-validation.md to explicitly state that the 5/3/3 attested
counters apply only to the `@lubab/miftah`@0.5.8 evaluator baseline, not the 1.0.0
release candidate. Update tests/v1-readiness-docs-contract.test.ts to assert
this baseline-only wording.
♻️ Duplicate comments (1)
tests/readme-product-contract.test.ts (1)

66-68: 🔒 Security & Privacy | 🟡 Minor

Include the repository scope in the assertion.

The required disclosure states that the records are not published in this repository. This assertion stops before that scope, so a weaker statement could still pass. Match the complete README phrase.

Proposed fix
     expect(firstScreen).toContain(
-      "source participant records and completed security report are not published",
+      "source participant records and completed security report are not published in this repository",
     );
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/readme-product-contract.test.ts` around lines 66 - 68, Update the
firstScreen assertion in readme-product-contract.test.ts to match the complete
README disclosure phrase, including the repository scope “in this repository”
after “are not published.”
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/oauth-console-validation.md`:
- Around line 44-51: Update docs/oauth-console-validation.md to explicitly state
that the 5/3/3 attested counters apply only to the `@lubab/miftah`@0.5.8 evaluator
baseline, not the 1.0.0 release candidate. Update
tests/v1-readiness-docs-contract.test.ts to assert this baseline-only wording.

---

Duplicate comments:
In `@tests/readme-product-contract.test.ts`:
- Around line 66-68: Update the firstScreen assertion in
readme-product-contract.test.ts to match the complete README disclosure phrase,
including the repository scope “in this repository” after “are not published.”

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 360577b9-0961-4e01-a84f-c47a7303d1fd

📥 Commits

Reviewing files that changed from the base of the PR and between 6160d82 and bb3240c.

📒 Files selected for processing (6)
  • docs/independent-security-review.md
  • docs/oauth-console-validation.md
  • docs/v1-evaluation.md
  • tests/readme-product-contract.test.ts
  • tests/v050-feature-guide-contract.test.ts
  • tests/v1-readiness-docs-contract.test.ts

@mohanagy

Copy link
Copy Markdown
Owner Author

Incremental review follow-up is addressed in b4d942c:

  • the OAuth/Console evidence page now says the 5/3/3 attested counters apply only to the @lubab/miftah@0.5.8 evaluator baseline, not the 1.0.0 candidate;
  • the readiness contract enforces that boundary;
  • the README contract now matches the complete repository-scoped publication disclosure.

Local release-document contracts pass 56/56 and lint is clean. Fresh exact-head CI is https://github.com/mohanagy/miftah/actions/runs/31457897932.

@mohanagy

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@mohanagy
mohanagy dismissed coderabbitai[bot]’s stale review August 11, 2026 04:38

All actionable findings were addressed in bb3240c and b4d942c; all review threads are resolved; exact-head CI run 31457897932 passed on b4d942c; and the fresh CodeRabbit review command completed SUCCESS with no new findings. Dismissing the stale review attached to 6160d82.

@mohanagy
mohanagy merged commit 3940383 into development Aug 11, 2026
12 checks passed
@mohanagy
mohanagy deleted the release/v1.0.0 branch August 11, 2026 04:38
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