Repository navigation
feat: per-repo profiles (make the pipeline project-agnostic) - #30
Merged
Merged
Conversation
The pipeline assumed one project: Node scripts, this repo's directory layout, and a fixed learnings file. Make those knobs data: - src/profile.ts + config/repos.json: verify commands, protected / blocked / sensitive / ignored paths, dependency manifests, learnings file, default agent/model, retry and quota. Precedence: built-in < _defaults < repo entry < legacy config/verify.json < env. Lists replace defaults; trust anchors (.github/, .git/, LICENSE) always stay. Zero-file targets keep no files in their repo - profiles live in the hub. - verify: profile command beats detection; detection gains Swift (Package.swift), Gradle (gradlew), Maven (pom.xml), Elixir (mix.exs). - risk/policy: accept per-repo path rules (OrzMCApp: Sources/, OrzMC.xcodeproj/). - verify: hash the scripts the command invokes (`bash scripts/check.sh`) into the frozen gate, so an agent cannot "pass" by weakening the judge itself. - OrzMCApp profile: Ubuntu-friendly check-platform-split.sh, Swift paths, docs/iteration-flow.md as learnings (the EASYGH_VERIFY_CMDS override is retired). - docs/portability.md: field reference, precedence, runner constraints, onboarding checklist, stack examples.
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.
目标:同一套流水线适配 Node / Rust / Swift / Java / Go / 多语言仓库,不用改 runner 代码。
config/repos.json+src/profile.ts:验证命令、受保护/禁止/敏感/忽略路径、依赖清单、经验文件、默认 agent/model、重试与配额。优先级:内置 <_defaults< 仓库条目 < 旧config/verify.json< 环境变量。列表是替换语义,.github/、.git/、LICENSE始终生效。bash scripts/check.sh)内容哈希进冻结闸门 —— 否则 agent 可以改裁判自己来通过。对脚本化验证的项目(Swift/iOS 很常见)这是关键。check-platform-split.sh、Swift 目录受保护、经验文件指向docs/iteration-flow.md;退役EASYGH_VERIFY_CMDS变量。docs/portability.md:字段表、优先级、运行环境约束(hub 是 Ubuntu)、接入清单、各技术栈示例。