Repository navigation
chore(pesto): add the git-backed ai-services/chip-legacy pack DEV-228794 - #159
aberkowCollibra wants to merge 3 commits into
Conversation
Port chip-legacy to the git-backed ai-services layout: one review round, no inline scripts, shared magneto spec, wait-for-ci-image.sh and run-dq-step.sh referenced from collibra/ai-evals main. Assumptions: the shared build-chip-service.sh and ensure-chip-binary.sh build chip-service or fetch a release, not this branch, so build-chip runs a chip-owned build-chip-binary.sh; chip's CI publishes no image, so wait-for-ci-image.sh is bound but used only with CHIP_SOURCE=ci. DEV-228794 docs(pesto): put the Jira key first in the pack's commit convention Co-authored-by: betty-pr-factory-app[bot] <316249552+betty-pr-factory-app[bot]@users.noreply.github.com>
aberkowCollibra
left a comment
There was a problem hiding this comment.
Review: ai-services/chip-legacy pack (#159)
I compared this against the collibra/ai-evals branch feature/DEV-228794-git-backed-ai-services-packs (tip be2d7ec). It's the only ai-evals branch whose tip has .pesto/packs/ai-services/files/run-dq-step.sh. /tmp/pesto-context/ai-evals wasn't in this pod, so I cloned collibra/ai-evals fresh and selected the branch as the brief describes.
Verdict: the pack should run as wired. One lint FAIL (a false positive in the lint) and two SHOULD HAVE fixes, listed below. No inline scripts, one review round, teardown is correct, and the README and cost table are accurate.
Structural lint (check-packs): 34/35 passed
- FAIL "one shared magneto spec across packs" (F1). The lint counts every file bound to
provision-envas a spec, sorun-dq-step.sh(bound asdestination: script) gets counted alongside the real spec. The pack binds both files exactly as ai-evals'evals-chip-serviceandai-evals-implement-review-verifyACdo, and the only spec it reads is the shareddgc-ai-copilot.magneto.yaml. The fix belongs in the lint, not the pack. I've listed it as a finding because every FAIL counts as one.
Would it run? Wiring, artifacts and inputs
- Inputs come from
depends_on:- remediate-review and publish-ledger read
.pesto/inputs/review_findings/review, and both depend onreview. - validate-ac reads
.pesto/inputs/result/build-chipand.pesto/inputs/result/provision-env, and depends on both. - provision-env's
SPEC_VARS_FROM: build-chipnames a direct dependency, asrun-dq-step.shrequires.
- remediate-review and publish-ledger read
- Artifact contracts:
build-chip-binary.shwritesresultandtest_report, which are build-chip's required artifacts.- Its result has top-level
CHIP_IMAGE, which fills__PESTO_VAR_CHIP_IMAGE__, plusimage,digest,source_shaandversion. Those are exactly the recorded fields validate-ac's identity gate reads (source_sha == HEAD, pod imageID == digest).
- Spec placeholders: the shared spec has six. STACK, CHIP_MODE, VERTEX_LOCATION, DGC_AUTH and COPILOT are answered by task_env, and CHIP_IMAGE by build-chip's result. None is left unanswered.
- Node settings match ai-evals: resume_session chain,
ci_watch,pr_draft: false,repeat_groupscount 1, and teardown-env withalways_run: true,ALLOW_FAILED_DEPLOYMENTS: "true",REQUIRE_SESSION: "false". - Build script details:
MAGNETO_SESSION_TAGimage naming followsbuild-chip-service.sh.- The ldflags target
github.com/collibra/chip/pkg/chip.Versionmatches.goreleaser.yaml. - The crane append/mutate sequence matches
ensure-chip-binary.sh.
- Gap (F3): unlike ai-evals' validate-ac, this one isn't
always_run. A failed build or provision therefore leaves the PR with no verdict at all, even though the prompt describes an ENVIRONMENT-fault outcome.
Does each prompt carry this repository's facts?
- CI facts match
.github/workflows/build.yaml: Go 1.26.10,go mod download,go test -race -v ./...,go build -v ./..., golangci-lint v2.15.0. - Files the prompts cite all exist:
cmd/chip,docs/TOOL_CONTRIBUTION_STANDARDS.md,SKILLS.md,pkg/skills/files/collibra/, and AGENTS.md's stepdown rule. - PR template: the open-pr prompt names
.github/pull_request_template.md's real headings (## 🎯 What does this PR do?,## ✅ Checklist). - Commit-subject convention is wrong (F2): the prompts give it as key-first and cite
.githooks/commit-message-checkand CONTRIBUTING.md. Both require type-first (the hook's regex is anchored on the type), and most of main's history is type-first with the key at the end (d2e67f5 feat(dq): … DEV-219055).
Shared files: referenced, not copied
- Referenced from collibra/ai-evals
ref: main:dgc-ai-copilot.magneto.yaml,wait-for-ci-image.shandrun-dq-step.sh. Bindings and keys match ai-evals (SPEC_B64base64,WAIT_FOR_CI_IMAGE_SH, script). - Not used, correctly:
build-chip-service.shbuilds chip-service, andensure-chip-binary.shonly wraps a published chip release. Neither can build this branch's chip.load-maestro-dataset.sh,check-env.shandrun-evals.shserve eval runs this pack doesn't make. - Chip-owned files are reasonable: the two local scripts (
build-chip-binary.sh,go-tests.sh) are chip-specific, not copies of shared files, and the commit message records the assumption behind them. - Small item for the ai-evals side, not this PR: ai-evals' README lists
ensure-chip-binary.shas read by "chip". No chip pack reads it, so that row should drop "chip".
Notes, not findings
go test ./...in pods:go-tests.shrunsgo test -count=1 -p 2 ./...(61 packages, no-race) as the post_script of every node that commits. This deployment's pod guidance warns against unscopedgo test ./....-p 2bounds it, and ai-evals runs its whole pytest suite the same way. I did not run it here to measure memory, so whether it fits the pod is not verified.- Rules checked:
- No ticket key, person or email under
.pesto/packs/. - Description has
Use when:andCannot settle:. - Per-run values are
<<NAME - …>>placeholders. - README has the one table, and its $126 equals the summed agent budgets (30+20+20+8+8+10+30).
- No ticket key, person or email under
|
This pull request was created by the BETTY PR Factory App GitHub App on behalf of aberkowCollibra, through PESTO engineer git delegation. PESTO run: The commits and the pull request are authored by the engineer's own GitHub account; the App's involvement is recorded by this comment, by the |
…ac DEV-228794 Prompts now give the subject form CONTRIBUTING.md and the commit hook define, the Jira key at the end. validate-ac gets always_run so a failed build or provision still yields a verdict. The lint check "one shared magneto spec across packs" still fails: it counts the run-dq-step.sh script binding on provision-env as a spec. The binding matches collibra/ai-evals' own packs and is left as is. Co-authored-by: betty-pr-factory-app[bot] <316249552+betty-pr-factory-app[bot]@users.noreply.github.com>
Set defaults.repo_url to collibra/chip, set max_retries 0 on reconcile-ci (it has a post_script), and name the shared stub run-env-step.sh, whose teardown branch needs no SPEC_B64. Assumes run-env-step.sh keeps run-dq-step.sh's task_env contract (DQ_STEP, SPEC_VAR_*, SPEC_BLOCK_*, SPEC_VARS_FROM): ai-evals could not be read from this pod. Co-authored-by: betty-pr-factory-app[bot] <316249552+betty-pr-factory-app[bot]@users.noreply.github.com>
|
Closing: collibra/chip is out of scope for DEV-228794 — the server-side ai-services/chip-legacy pack stays as it is. |
🎯 What does this PR do?
DEV-228794: moves collibra/chip's single PESTO pack,
ai-services/chip-legacy, into this repository as a git-backed pack, following the new layout and rules. It references the shared magneto spec and provision/build scripts from collibra/ai-evals rather than copying them. chip is deprecated, so the pack stays only until chip retires and no ladder of smaller packs is added.Packs
chip-legacyvalidate-accalls chip's tools through/rest/mcpand posts per-criterion evidence. Fixes nothing it finds unmetWhat changed
.pesto/packs/ai-services/chip-legacy.pack.yaml: ported from chip-legacy@2. One review round inrepeat_groups(count 1). The PR now opens after the review round, and apublish-ledgernode posts the findings ledger.teardown-envhasalways_run: trueandALLOW_FAILED_DEPLOYMENTS: "true". There is no inlinescript:, and all per-run values are<<NAME - explanation>>placeholders.collibra/ai-evalsatref: main:dgc-ai-copilot.magneto.yaml(bound asSPEC_B64),run-dq-step.sh(provision and teardown) andwait-for-ci-image.sh(bound tobuild-chip)..pesto/packs/ai-services/files/:build-chip-binary.shis the old inline build-chip script, moved to a file.go-tests.shis the post_script that runsgo build ./...andgo test -count=1 -p 2 ./.....pesto/README.md: the pack table with cost per attempt, the conventions and the files.build,tag, Snyk), the Conventional Commits subject with the Jira key, the PR template and the review standards (docs/TOOL_CONTRIBUTION_STANDARDS.md,SKILLS.md, the stepdown rule).Shared-files source
I read the shared files from collibra/ai-evals branch
feature/DEV-228794-git-backed-ai-services-packsatbe2d7ec, which appeared after about 8 minutes of polling. I copied its layout, manifest conventions and README format, and took the task_env keys from each script's header.Assumptions
build-chip-service.shbuilds./cmd/chip-serviceandensure-chip-binary.shdownloads a released binary; neither builds this branch's chip. Sobuild-chipruns the chip-ownedbuild-chip-binary.sh.wait-for-ci-image.shis bound but idle by default. chip's CI publishes no image, so it is bound tobuild-chipand used only withCHIP_SOURCE=ciplus aCI_IMAGE_REPO. The default isCHIP_SOURCE=source.load-maestro-dataset.sh,check-env.sh,run-evals.shorensure-chip-binary.sh.authServiceEnabled: true), with the front door, copilot-service 0.24.1,disabledTools: [list_asset_types], chip in binary mode, Vertex locationglobaland stack namedgc-chip-legacy. The DGC version is now the shared spec's pinned 2026.11.601 instead of ontrack latest gold.REVIEW.json, soreviewis a plain fresh-session reviewer writing collibra-review-shaped findings, as chip-legacy@2 did. It does not use thecollibra-reviewtool.<key> <type>(scope): …), matching the latest merged commits. Older history puts it at the end..pesto/is in this clone's.git/info/exclude. The files were added withgit add -f.Structural lint (Appendix B)
I ran it with
EXPECTED_PACKS='chip-legacy' OWN_REPO='collibra/chip': 34/35 checks passed, 1 failed.FAIL one shared magneto spec across packs. It counts every file bound toprovision-envas a spec, so therun-dq-step.shscript binding shows up as a second spec.script:or the deprecatedscript_ref, which the rules forbid. I left it and recorded it here.Nothing was registered with PESTO; registration happens after merge.
✅ Checklist