Support revision-bound finding and hotspot evidence for bounded code-analysis tasks
Maintainers usually reply within 9 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reading related issues #34, #47 and #54 to understand the planned artifact and work-scope contracts. Define a versioned finding input and deterministic consumer projection with explicit validation, policy, correlation and bounded-slice behavior; the issue does not name implementation files or tests. Done means the listed offline fixtures, stable candidate IDs, explainable evidence and profile documentation are covered without adding a Vital or feeding findings into Integrity.
Written by the indexing model from the issue text.
Description
Problem
Repository activity and aggregate Vitals cannot identify which file, symbol or integration boundary should be analyzed. The Coverage and TestState Instruments planned in #34/#47 provide useful evidence, but do not define a source-location finding inventory or a reproducible rule for producing a bounded code-analysis task.
Without that surface, consumers either ask a model to inspect the whole project or turn weak heuristics such as file size into unsupported bug claims.
Proposed scope
Define an optional versioned finding/artifact input and a deterministic consumer projection, separable from the seven Vitals. A companion adapter is acceptable if source analysis is outside the core.
- Accept existing CI reports: static/security findings with rule IDs and source locations (e.g. a declared SARIF profile), test failures/flakes, coverage gaps, and measured performance regressions. Git churn, complexity and changed dependency boundaries can be optional declared profiles.
- Bind each artifact to repository identity, exact commit, producer/profile version, content digest, collection time and completeness. Validate paths/locations; artifacts from another revision are not current findings.
- Make missing instrumentation
UNKNOWN/UNAVAILABLE; it is never zero findings or complete coverage. - Define policy predicates such as "recently changed code with missing applicable test reach", "repeated failed test at a named boundary", or "complexity plus observed churn". Thresholds and windows are explicit consumer policy. A predicate produces an analysis candidate, not a proven defect or an invented business priority.
- Include named paths/symbols, rule and evidence refs, the observed risk/question, a bounded read set and a concrete expected verification result. Prefer component-local slices over repository-wide prompts.
- Correlate a finding with existing issues/MRs and retained dispositions so identical runs do not reopen accepted findings or produce duplicate tasks. A changed revision, new evidence or expired disposition can require reconsideration.
Do not use raw source/report text as authority, execute producer-supplied commands, or treat a large file alone as a bug. Do not add an eighth Vital or feed these findings into Integrity without a separately accepted contract.
Acceptance
- Offline fixtures cover absent, malformed, truncated, duplicate and stale reports; wrong repository/revision; out-of-tree paths; unavailable coverage; acknowledged findings; a new recurrence; overlap with an existing MR.
- Same artifacts and policy yield the same candidates and stable IDs.
- A candidate can be explained from named evidence without a model.
- Generated slices include path/symbol, observed trigger, review objective and bounded context; unknown input never fabricates "all clear".
- Document at least one static-finding and one test/coverage profile, their limits, and how a consumer maps them into
analyze_codeor a declaredresearchquestion.
Related: #34 and #47. This extends their artifact evidence into actionable source slices; it does not duplicate the planned Coverage/TestState Instruments.
Work-scope projection proposal: https://github.com/drevendev/Devostasis/issues/54
- Dominant language
- Python
- Stars
- 4
- Forks
- 1
- Avg merge
- 5d 12h
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
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 drevendev/Devostasis
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
drevendev/Devostasis#25 ·
Maintainers usually reply within 9 days
-
good first issue hacktoberfest help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 56/100
drevendev/Devostasis#78 ·
Maintainers usually reply within 9 days
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
drevendev/Devostasis#77 ·
Maintainers usually reply within 9 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
drevendev/Devostasis#76 ·
Maintainers usually reply within 9 days
-
Offline Git collection: isolate inherited repository context and credential environmentPossibly taken @abogun-product claimed this 12 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 25/100
drevendev/Devostasis#74 ·
Maintainers usually reply within 9 days
All issues in drevendev/Devostasis
Similar issues
-
wr.dynamodb.read_items returns [{}] for a single partition value that does not existPossibly taken @auraseb claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
aws/aws-sdk-pandas#3520 ·
Maintainers usually reply within 2 days
-
requires triage typing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sqlalchemy/sqlalchemy#13704 ·
Maintainers usually reply within 1 day
-
Edit tool converts CRLF files to LFPossibly taken @RaphaelFakhri claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
huggingface/tau#774 ·
Maintainers usually reply within 1 day
-
show ignores the row limit when a column or table name contains "limit"Possibly taken @RaphaelFakhri claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
linebender/resvg#1179 · 1 comment ·
Maintainers usually reply within 2 days