Repository navigation
Conversation
…he skills Corrections verified against upstream source (up v0.55.0, Crossplane v2.3.1, crossplane-runtime, cel-go, apiextensions-apiserver), plus the facts agents were missing when building, maintaining and extending compositions: - XR status and custom conditions between reconciles; never write null to drop a key; choosing the function language by the amount of logic; one test program per composition, split by file; credentials are checked for presence without printing them. - A composed resource the function stops returning (renamed key or removed resource) is deleted on every existing XR, not orphaned; how to keep the external resource. - XRD CEL transition rules for optional fields (rule on the parent, has() takes a field, no rules on absent values or on create, self == oldSelf on spec freezes it), CEL escapes and cost, and proving each rule on an API server, since no build, schema check or render compiles CEL. - About 90 smaller corrections: connection details in a render, the functionRef checkpoint, go-templating models in .up/json/, what up composition generate emits, teardown after setup failures, nonexistent commands and flags, dead pointers, zsh-unsafe snippets, a minted registration token printed to the terminal, an e2e run reusing a control plane with the same name, and hub-health aborting when a feature gate is off (with a bats test). Signed-off-by: Tobias Kässer <tobias.kasser@upbound.io>
Lossless compression: each removed fact keeps one home that the same reader loads on the same path, with a pointer left where it was needed. No heading, anchor, section number, binding rule or frontmatter description changed. Skill text: 70,492 -> 67,716 words (-3.9 %), most of it in the charter. Signed-off-by: Tobias Kässer <tobias.kasser@upbound.io>
Agents open what a skill tells them to open now and skip what it only mentions (measured: the XRD and v2-resource references were opened in 0-4 % of sessions). So: - every charter routing row and the task skills' XRD, status and first-test steps say which file and section to open now; - the costliest rules (CEL immutability, XR status, a dropped resource is deleted) have a short form in the files agents read, linking to the detail; - check_xrd_schema.py reports has(self)/has(oldSelf) as an error and warns on self == oldSelf on spec, transition rules on optional fields and oldSelf in non-map lists (tests included); - every reference over 100 lines starts with a contents list, and make check fails when one is missing or stale (tests included). Signed-off-by: Tobias Kässer <tobias.kasser@upbound.io>
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.
Description of your changes
Three commits, one per kind of change, so each can be reviewed (and reverted) on its own. Everything here came out of agent runs that build, maintain and extend a Crossplane v2 configuration package from a written spec with these skills (Go, Python, go-templating; several models), followed by review passes that checked every claim against upstream source (up v0.55.0, Crossplane v2.3.1, crossplane-runtime, cel-go, apiextensions-apiserver).
1.
fix:correct wrong facts, broken commands and contradictionsnullto drop a key); choosing the function language by the amount of logic; one test program per composition, split by file; checking credentials without printing them.composition_functions.gogarbage collection). The skills said "orphans" in five places. They now describe it as a migration and say how to keep the external resource.has()takes a field, neverhas(self)/has(oldSelf); rules don't run on absent values or on create;self == oldSelfonspecfreezes the whole spec. Plus escapes, cost, and proving each rule on an API server: no build, schema check or render compiles CEL, and Crossplane accepts an XRD whose CRD then fails.up project builddoesn't checkfunctionRef;.up/json/;up composition generateadds a step per function dependency;hub-healthaborted when a feature-gated resource was off (bats test added);hub-setupprinted the minted registration token (now a umask 077 file);2.
docs:remove duplicated and redundant text (lossless)3.
feat:route agents to the reference they need, and lint XRD CEL rulesreview.mdnow") was followed in 99 % of sessions, whilexrd-design.mdandv2-resources.mdwere opened in 0–4 % of builder sessions, although they hold the facts behind the costliest failures.check_xrd_schema.pyflagshas(self)/has(oldSelf)as an error, and warns onself == oldSelfonspec, transition rules on optional fields andoldSelfin non-map lists (tests included);make checkfails when one is missing or stale (tests included).Net against
main: skill text 69,547 → 68,927 words. 75 files, +1,254/−778 lines.I have:
make check(10 checks),make test(222 tests OK) andmake lint.git commit -s, with no model co-author trailers.make readmeif this adds or removes a skill. N/A, no skill added or removed.How has this been tested
main's version and CI bumps.