[CROSS-B] Verified author, EPIC ancestry, and Issue/PR target resolver
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 15/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- github, graphql, python
- Domain
- authorization, backend
Research direction
Begin by reading EPIC #306 and linked issues #307, #293, #287 to understand the native GitHub parent/sub-issue graph and existing validation. Study GitHub GraphQL/REST availability for PR-vs-Issue and creator ID. Done means a read-only resolver with deterministic fake-GitHub test matrix covering #280→#23 and refusing cross-repo mismatches.
Written by the indexing model from the issue text.
Description
Parent EPIC: #306 (planning link; native parent association pending verification). Phase: B. Priority: P0. Blocked by: #306 architecture child #307. Coordinates: #293, #287.
Goal
Build provider-neutral, read-only GitHub target validation for proposed policy scopes, independently of any new writer.
Deliverables
- Canonical repository/object identifiers, PR-vs-Issue distinction (GitHub PRs are also issue-numbered), verified creator identity, closed/open state, inaccessible/transferred/deleted objects.
- Native GitHub parent/sub-issue graph with defined direct-child versus ancestry semantics, cycles, partial/truncated pages, absent parent, changed parent, and GraphQL REST feature availability; never infer security-relevant membership from prose, labels, comments, issue references, or unchecked state.epic_url.
- Same-author comparison based on authenticated GitHub creator ID, explicitly treating bot identity and shared maintainer identity as weak relationship constraints (not approval); fork and transferred/renamed repo handling.
- Same-EPIC and same-author-and-EPIC criteria, including whether EPIC itself qualifies and explicit native root identity. Reuse native validation from #293 only when actually shipped; do not duplicate conflicting definitions.
- Bounded snapshot with provenance and audit reason; recheck before committing a new effect (fail closed on drift/unavailable).
Acceptance criteria
- Deterministic fake-GitHub test matrix for all scopes/types; includes #280→#23 same_author true but same_epic false/unknown.
- Read failures or ambiguous native graph cannot broaden authorization.
- Cross-repository/fork/PR-subtype mismatch refused; no generic API mutation introduced.
- Works without touching existing K10 persistence or active runs.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 5h 51m
- Merged PRs (30d)
- 66
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from iceboundrock/AutoForge
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
iceboundrock/AutoForge#304 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
iceboundrock/AutoForge#329 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 75/100
iceboundrock/AutoForge#328 ·
Maintainers usually reply within 1 day
-
A create whose text gh's JSON sanitizer rewrites is recorded as a conflict on the controller's own object (found on PR #314)Possibly taken @iceboundrock claimed this 1 day ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 20/100
iceboundrock/AutoForge#327 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 20/100
iceboundrock/AutoForge#326 ·
Maintainers usually reply within 1 day
All issues in iceboundrock/AutoForge
Similar issues
-
request-theme
Difficulty 1/5 Under an hour Newbie friendliness 66/100
LizardByte/ThemerrDB#9575 ·
Maintainers usually reply within 1 day
-
author-page correction
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
acl-org/acl-anthology#10599 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
zilliztech/memsearch#818 ·
Maintainers usually reply within 1 day
-
[FAQ] Commit ID for ProjectsPossibly taken @github-actions claimed this today. Openfaq-proposal
Difficulty 1/5 Under an hour Newbie friendliness 84/100
DataTalksClub/faq#503 · 1 comment ·
Maintainers usually reply within 2 days
-
README.zh-CN/ja/es still hard-code 501 test counts after README.md went count-freePossibly taken @Aaqibhafeezkhan claimed this today. Openbeginner documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
BistaDinesh03/critique#164 · 1 comment ·
Maintainers usually reply within 1 day