Skip to content

[ticket-075] fix(ticket-075): ignore remediation projections in communication - #90

Merged
tom-sapletta-com merged 3 commits into
mainfrom
goal/ticket-075
Aug 12, 2026
Merged

[ticket-075] fix(ticket-075): ignore remediation projections in communication#90
tom-sapletta-com merged 3 commits into
mainfrom
goal/ticket-075

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Created by governed goal -a pull-request delivery.

@ifuri-validator-agent ifuri-validator-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic Validator approval for exact head 9979cb280533d098a1191dc29de5626e24c12c88.

Ticket: ticket-075
Correlation ID: todo2code-pr-90-ticket-075
Model: openrouter/z-ai/glm-5.2
Reviewed diff chunks: 4
Advisory LLM verdict: REQUEST_CHANGES
Advisory summary: Reviewed all 4 diff chunk(s). This chunk adds ticket-075 metadata and documentation files describing a bounded fix to prevent generated remediation projection files (*.task.md, *.todo.md) from being misclassified as participant communication. The documentation is consistent and well-structured. No source code changes are visible in this chunk (those appear in later chunks). All test checks in test_results_data are PASS or SKIPPING with no failures. | This chunk refactors the communication extractor to introduce CommunicationCandidate and CommunicationAttribution interfaces and a helper-based flow, and adds ticket-075 governance evidence/metadata. The visible code is an intentional partial chunk of a larger refactor. No security issues, secrets, or dangerous operations are present. Test results show verify PASS and code-review PASS. | This chunk refactors the communication extractor into smaller, well-named helper functions (loadCommunicationCandidate, convertCommunicationCandidate, resolveAttribution, etc.), improving readability and separation of concerns. The structure is reasonable and the logic appears to preserve prior behavior. However, there is a notable change in the candidate-filtering logic via shouldIgnoreCommunicationCandidate that warrants scrutiny: when there is no explicit envelope, no requested ticket, no identity registry, and the path does not look like a ticket, candidates are ignored unless they have an inferred role. This is a behavioral gate that could suppress previously extracted communications if the inference logic differs from the prior inline path. Without the full context of InferredCommunicationIdentity and looksLikeTicket, it is hard to fully verify, but the added complexity is a potential regression risk. No security issues observed. Tests pass per provided results. | Communication extractor additions build records with identity metadata, tighten envelope parsing (malformed detection), validate timestamps against ISO 8601, support JSON list values, and treat generated task/TODO projections as evidence unless explicit front matter opts in. Tests cover the evidence filtering, explicit opt-in ingestion, malformed envelopes, and invalid timestamps. All checks in test_results_data are PASS or SKIPPING.
Advisory findings: LLM verdict was REQUEST_CHANGES
The LLM output above is advisory and was not used as the approval trust root.
Merge was not requested or performed.

Decision record (recomputable)

DECISION D-075-5095
TICKET ticket-075
HEAD_SHA 9979cb280533d098a1191dc29de5626e24c12c88
CORRELATION_ID todo2code-pr-90-ticket-075
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["koru / code-review=PASS","governance=SKIPPING","Live OpenRouter contract (opt-in)=SKIPPING","verify=PASS","Java adapter (JDK 17 required)=PASS","governance=SKIPPING","Live OpenRouter contract (opt-in)=SKIPPING","verify=PASS","Java adapter (JDK 17 required)=PASS"]
INPUT required_checks = ["verify","Java adapter (JDK 17 required)","koru / code-review"]
INPUT required_checks_source = "env/request"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "REQUEST_CHANGES" MODEL "openrouter/z-ai/glm-5.2"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@tom-sapletta-com
tom-sapletta-com merged commit 8e4f8f6 into main Aug 12, 2026
13 checks passed
@tom-sapletta-com
tom-sapletta-com deleted the goal/ticket-075 branch August 12, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant