Repository navigation
docs: add a pdd-kit Product Model, linted in CI - #1615
Closed
itai-gendler wants to merge 2 commits into
Closed
itai-gendler wants to merge 2 commits into
itai-gendler wants to merge 2 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pull requests to main and test-* fail when the model is malformed or references a file Git no longer tracks. - Weekly, the commit the scheduled image was built from is linted once that CI run completes. Pushes to main are not linted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
|
Closing for now. I'd like to settle the approach with you in #1614 before opening a PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #1614
This adds the Product Model proposed in #1614 and the separate workflow you asked for.
The workflow
.github/workflows/product-model.yamlhas one job that runspdd-toolkit lint, pinned to 0.37.0 in oneenvvalue:mainandtest-*: it fails when the model is malformed or points to a file Git no longer tracks. It doesn't run on push tomain.CIcompletes, only if that was the scheduled run, and lints the commit the image was built from. I usedworkflow_runinstead of a second cron because the scheduledCIrun has started anywhere from 15:03 to 23:51 UTC over the last 12 weeks, so a fixed time could run before the build. OtherCIruns show up as a skipped run of this workflow.It needs no secrets, has read-only
contentspermission, and runs onubuntu-slimin about 35 seconds.I tested it in a private copy of the repo:
tubesync/sync/tasks.pyfails, listing each model file that points to it;CIrun skips the weekly lint;Why there's no catch-up job
I proposed an AI catch-up after merges, and you asked for it to check for its secret. Having thought it through, I don't think it's the right approach, so I left it out. That's also why there's no secret to check.
When the model and the code disagree, someone has to decide which one is right. Sometimes the code changed on purpose, and sometimes it's a bug the model caught. Once a change is merged, it's too late to ask. A scheduled job would either guess, and could write a bug into the model, or open a PR asking you to decide on changes you merged days ago. That's the maintenance burden you said you want to avoid.
That decision belongs in the pull request that makes the change, while its author is there:
/pdd-ideateto update the model before implementing, then/pdd-verifyafter implementing. They can also implement first and finish with/pdd-verify. Either way, the model change is part of the same PR and is reviewed with the code.product-model/README.mdtells agents how to work with it.product-model/, or a maintainer can do it. If you'd rather lint never fail for that, I can remove the code references from the model; there are 58 of them.The weekly lint catches a broken reference that reaches
mainwithout a pull request.🤖 Generated with Claude Code