feat: add repository profiles to issue resolver - #271
Open
TheDarkniteFalls wants to merge 1 commit into
Open
Conversation
Parse caller-fetched ISSUE_RESOLVER.md content into provenance-labelled, context-only profile data while preserving the v0.2 workflow outputs. Document the profile contract, trust boundary, and Skillware dogfood profile, with regression coverage for the frozen v0.2 contract. Fixes ARPAHLS#145
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
Adds the deliberately narrow v0.3 repository-profile path requested in #145.
load_repository_profileparses caller-fetchedISSUE_RESOLVER.mdMarkdown into generic ordered sections, labels its provenance, and exposes it as repository context that cannot override the constitution or grant authority.The existing v0.2 workflow payloads remain unchanged when no profile is supplied. This PR also adds the profile standard, a Skillware dogfood profile, catalog and card updates, and durable frozen-v0.2 regression coverage.
Per the latest maintainer direction, smart section-to-stage mapping, checklist merging, compression, YAML, loader changes, network calls inside
execute(), profile generation, and a prompt-injection firewall remain out of scope.Acceptance mapping
skill.py,manifest.yaml, andinstructions.mdtest_skill.pymanifest.yaml,instructions.md,docs/contributing/issue_resolver_profile.md, and the rootISSUE_RESOLVER.mddocs/skills/issue_resolver.md,docs/skills/README.md,card.json, and its fixtureCHANGELOG.mdVerification
python -m black --check .— 136 files unchangedflake8 . --count --select=E9,F63,F7,F82 --show-source --statistics— 0 findingsflake8 . --count --statistics— 0 findingspytest skills/— 155 passedpytest tests/— 175 passedpython scripts/sync_extras.py --check— passedgit diff --check— passedThe nested wheel-build test used existing local build tooling because the execution environment could not reach PyPI. The repository test was not modified or skipped and passed; CI can repeat it with normal isolated dependency installation.
Type of Change
Checklist (all PRs)
pytest skills/andpytest tests/passCHANGELOG.mdupdatedexamples/README.mdupdated if runnable scripts changed (not applicable: no runnable scripts changed)New or updated skill
Bundle and metadata
Logic, cognition, tests
Skill.execute()returns a JSON-serializable dictionaryDocumentation and catalog
Constitution and safety (skills only)
The repository profile is explicitly labelled as caller-fetched repository context. Its content cannot override the Skillware constitution, modify workflow invariants, or grant the agent authority.
This narrow version deliberately does not implement a prompt-injection firewall. Repository administrators are responsible for profile quality and for ensuring profile content is clean, sound, and conforms to the documented standard.
execute()performs no network access. FetchingISSUE_RESOLVER.mdremains the caller's responsibility, and repository-native instructions such asAGENTS.mdremain independently applicable.Related Issues
Fixes #145