ConfigKeyContextResolver misses config keys defined in ordinarily-named files
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- csharp, go, java, javascript, python, rust, typescript
- Domain
- devtools
Research direction
Start in ConfigKeyContextResolver, where the candidate set is built from application* resources and files whose stem ends in config/settings/properties/env with a limited extension list. Read the table of misses (main.go, main.py, main.rs, Main.java, app-config.service.ts, Program.cs) and see how the candidate filter rejects them. Done when the resolver also selects files that contain environment reads, and the config-doc gate in FindingVerifierPrompts and #641 still agree.
Written by the indexing model from the issue text.
Description
ConfigKeyContextResolver cannot reach config keys in most non-Java repositories, so the "Config key
definitions from the repository" evidence section is usually empty.
What it matches
Candidates are application* resources plus source files whose stem ends in
config/settings/properties/env, with a java/kt/py/ts/js/go/rb/rs extension.
What that misses
Found while fixing #638. Across two corpus rounds, every PR that defines its config keys in an
ordinarily-named file produced no section at all:
| PR | file that defines the keys | why it does not match |
|---|---|---|
| go #40 | main.go |
stem is main |
| python #39 | main.py |
stem is main |
| rust #42 | main.rs |
stem is main |
| java #43 | Main.java |
stem is main |
| angular #49 | app-config.service.ts |
stem ends service, not config |
| csharp #47 | Program.cs |
.cs is not among the supported extensions |
A service that reads its environment in main.go or Program.cs is entirely ordinary, so this is
the common case rather than an edge.
Why it mattered
The review prompt's config-doc dimension was gated on that section being present, so for all of the
above it was told, in effect, to say nothing. #641 fixes the gate by accepting the diff's own parsing
line (strings.Split(raw, ","), .split(','), Duration.ofMillis) as the definition — which is
what the dimension's own self-check already permitted, so the prompt was internally inconsistent.
That makes this issue no longer a correctness blocker: the dimension works without the section. But
the section exists to give the model the definition rather than making it infer one from a parsing
call, so an empty section is still lost evidence quality on the majority of repositories.
Suggested direction
- Broaden the candidate set:
.csand other common extensions; entry-point files (main.*,
Program.cs,app.*,index.*); and files that merely contain environment reads rather than
matching on filename stem. - Consider selecting by content — a file that calls
os.Getenv,System.getenv,
Environment.GetEnvironmentVariable,process.env,std::env::varis a config-definition site
regardless of its name. - Any change here should be read together with
FindingVerifierPrompts's config-doc clause and the
gate #641 relaxed, so the three do not disagree again.
Note on dimension numbering
PrReviewPrompts numbers these dimensions 7 (config/IaC) and 10 (config-key documentation). The
dogfood corpus briefs and answer keys number the same two 6 and 9. Issues #638 and others use the
corpus numbering. Worth keeping in mind when cross-referencing.
- Dominant language
- Java
- Stars
- 35
- Forks
- 7
- Avg merge
- 9h 23m
- Merged PRs (30d)
- 154
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a 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 devops-thiago/ThrillhouseBot
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#1093 ·
Maintainers usually reply within 1 day
-
documentation enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
devops-thiago/ThrillhouseBot#321 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
devops-thiago/ThrillhouseBot#46 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 58/100
devops-thiago/ThrillhouseBot#1095 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 58/100
devops-thiago/ThrillhouseBot#1094 ·
Maintainers usually reply within 1 day
All issues in devops-thiago/ThrillhouseBot
Similar issues
-
RRateLimiter acquire methods accept negative permits and raise available permits above the rate.Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 4 days
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
krahets/hello-algo#1993 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
NationalSecurityAgency/ghidra#9884 ·
Maintainers usually reply within 2 days
-
Status: Pending Review Type: Feature Request
Difficulty 1/5 Under an hour Newbie friendliness 82/100
OpenRefine/OpenRefine#8019 ·
Maintainers usually reply within 1 day
-
[TEMP] pin maven version to 3.9.xPossibly taken @petrenyi-mark claimed this today. Open
Difficulty 2/5 Under an hour Newbie friendliness 62/100