Skip to content

Detect declared config contract manifests#29

Merged
fqjony merged 3 commits into
latestfrom
fix/declared-config-contracts
Jul 8, 2026
Merged

Detect declared config contract manifests#29
fqjony merged 3 commits into
latestfrom
fix/declared-config-contracts

Conversation

@fqjony

@fqjony fqjony commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • discover root YAML manifests from explicit top-level contract / contracts markers or typed kind + version metadata
  • satisfy config contract detection from arbitrary filenames such as work-conf.yaml by combining typed manifest metadata with existing config.env / config.secrets shape detection
  • remove the deprecated worker-deployment deploy.yml surface from this repo and from legacy test fixtures
  • add env-interface.yaml as the explicit repo-owned dev.kit environment interface so config coverage comes from a declared contract
  • bump the package to 0.20.0 as a milestone release for the manifest/interface shift after 0.14.0
  • add release strategy/pre-action docs and lightweight workflow-manifest refs to the owning docs
  • add regression coverage for typed root manifests, marker-only contract: root manifests, and source/header comments that should not promote ordinary YAML into a contract

Scope

Changed: repo context contract manifest discovery, manifest-root detection signals, release metadata/docs, generated context, env tool recommendations, docker test entrypoints, and test fixtures.
Not changed: no worker.yaml, Worker-specific filename, deprecated deploy.yml, or UDX repo-specific allowlist was added.

Validation

  • bash tests/suite.sh --only repo-contract
  • make test
  • git diff --check
  • temp-copy smoke: worker-php reports config: present from worker.yaml via generic typed manifest + config shape detection

Copilot AI review requested due to automatic review settings July 8, 2026 10:50

Copilot AI 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.

Pull request overview

This PR updates repo contract discovery to detect root YAML manifests that declare config contracts via contract/contracts metadata (instead of relying on filename-specific allowlists), and adds regression coverage ensuring config contract detection works with arbitrary filenames like work-conf.yaml.

Changes:

  • Add scanning of root-level YAML files for explicit contract/contracts markers and include them as contract manifests.
  • Add regression tests verifying filename-agnostic config contract detection and context.yaml manifest inventory.
  • Update changelog and regenerate .rabbit/context.yaml timestamp.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
tests/suite.sh Adds a new fixture repo (declared-config-repo) and assertions proving config contracts are detected from arbitrary root YAML filenames.
lib/modules/repo_scaffold.sh Adds root YAML scanning for manifests that declare contract/contracts metadata and includes them in the manifest discovery surface.
changes.md Documents the shift from filename allowlists to explicit contract metadata detection for config contracts.
.rabbit/context.yaml Updates generated timestamp to reflect the new context generation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/modules/repo_scaffold.sh Outdated
Comment thread tests/suite.sh Outdated
Comment thread tests/suite.sh Outdated
@fqjony fqjony force-pushed the fix/declared-config-contracts branch from 76338b2 to f995e5a Compare July 8, 2026 14:20
Copilot AI review requested due to automatic review settings July 8, 2026 14:20

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Comment thread lib/modules/repo_scaffold.sh
Comment thread tests/suite.sh
Comment thread .rabbit/context.yaml
@fqjony fqjony self-assigned this Jul 8, 2026
@fqjony fqjony added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Jul 8, 2026
@fqjony fqjony requested review from a team, Copilot and udx-github July 8, 2026 14:33
@fqjony fqjony force-pushed the fix/declared-config-contracts branch from f995e5a to 8a7870a Compare July 8, 2026 14:34

Copilot AI 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.

Pull request overview

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.

Comment thread tests/suite.sh
Comment thread tests/suite.sh
Comment thread tests/suite.sh
Copilot AI review requested due to automatic review settings July 8, 2026 14:50
@fqjony fqjony force-pushed the fix/declared-config-contracts branch from 8a7870a to d849272 Compare July 8, 2026 14:50

Copilot AI 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.

Pull request overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 1 comment.

Comment thread package.json
Copilot AI review requested due to automatic review settings July 8, 2026 14:57
@fqjony fqjony force-pushed the fix/declared-config-contracts branch from d849272 to 29e6111 Compare July 8, 2026 14:57

Copilot AI 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.

Pull request overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 3 comments.

Comment thread lib/modules/repo_scaffold.sh Outdated
Comment thread lib/modules/repo_scaffold.sh Outdated
Comment thread tests/suite.sh
Copilot AI review requested due to automatic review settings July 8, 2026 15:07

Copilot AI 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.

Pull request overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.

Comment thread lib/modules/repo_scaffold.sh
Comment thread lib/modules/repo_scaffold.sh
Copilot AI review requested due to automatic review settings July 8, 2026 15:16
@fqjony fqjony merged commit 3f82ee0 into latest Jul 8, 2026
10 checks passed
@fqjony fqjony deleted the fix/declared-config-contracts branch July 8, 2026 15:21

Copilot AI 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.

Pull request overview

Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.

Comment on lines +312 to +314
done <<EOF
$(find "$repo_root" -maxdepth 1 -type f \( -name '*.yaml' -o -name '*.yml' \) 2>/dev/null | sort)
EOF
Comment on lines 8 to 10
on:
push:
workflow_dispatch:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants