Antiecho partition dec#98
Merged
Merged
Conversation
… (f x ≡ y) Lands obligation 5 of `coecho.md` §5 (deferred since the original AntiEcho thin slice in PR #69 / commit 428b4b8): the per-element partition of A into the Echo-side and the AntiEcho-side, given decidability of `f x ≡ y`. antiecho-partition-dec : ∀ {A B} {f : A → B} {y : B} (x : A) → Dec (f x ≡ y) → Echo f y ⊎ AntiEcho f y antiecho-partition-codomain-dec : ∀ {A B} {f : A → B} {y : B} → (∀ b → Dec (b ≡ y)) → (x : A) → Echo f y ⊎ AntiEcho f y Companion to the existing `antiecho-disjoint` (per-element). Together they exhibit A as the disjoint union of the Echo-side and AntiEcho- side parameterised by y: every x classifies to one side, and no x appears on both. Also corrects a misleading line in the prior preamble. The earlier comment claimed the asymmetric joint statement `Echo f y → AntiEcho f y → ⊥` (with possibly distinct domain witnesses) "requires decidability on the codomain to collapse the two witnesses". That joint statement is genuinely *not* a theorem at any decidability strength — Bool counterexample with `f = id` simultaneously inhabits both sides at `y = true`. The deferred-but-now-landed obligation 5 is the per-element classification above, not joint disjointness; the preamble is rewritten to say so. Build: --safe --without-K, zero postulates, no funext. Both `antiecho-partition-dec` and `antiecho-partition-codomain-dec` pinned in `Smoke.agda`. `agda proofs/agda/All.agda` and `agda proofs/agda/Smoke.agda` exit 0. Refs: project_echo_types_swarm_2026_05_20 (small deferrals) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
# Conflicts: # proofs/agda/AntiEcho.agda
🔍 Hypatia Security ScanFindings: 10 issues detected
View findings[
{
"reason": "No test directory or test files found",
"type": "no_tests",
"file": "/home/runner/work/echo-types/echo-types",
"action": "flag",
"rule_module": "honest_completion",
"severity": "high",
"deduction": 20
},
{
"reason": "Issue in quality.yml",
"type": "missing_workflow",
"file": "quality.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Issue in security-policy.yml",
"type": "missing_workflow",
"file": "security-policy.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in secret-scanner.yml",
"type": "missing_workflow",
"file": "secret-scanner.yml",
"action": "create",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "Action actions/cache@v4 needs attention",
"type": "unpinned_action",
"file": "agda.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
"type": "unpinned_action",
"file": "governance.yml",
"action": "pin_sha",
"rule_module": "workflow_audit",
"severity": "high"
},
{
"reason": "No dependabot.yml or renovate.json found in echo-types",
"type": "DependencyUpdate",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "high",
"remediation": "Add .github/dependabot.yml or renovate.json configuration.",
"scorecard_check": "Dependency-Update-Tool"
},
{
"reason": "Nominal-only SAST in echo-types: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
"type": "StaticAnalysis",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Add CodeQL or equivalent SAST workflow.",
"scorecard_check": "SAST"
},
{
"reason": "1 workflow(s) with tag-pinned (not SHA-pinned) actions in echo-types",
"type": "DependencyPinning",
"file": "/home/runner/work/echo-types/echo-types",
"action": "auto_fix",
"rule_module": "scorecard",
"severity": "medium",
"remediation": "Pin GitHub Actions and Docker base images by SHA hash.",
"scorecard_check": "Pinned-Dependencies"
},
{
"reason": "Repository has 1 non-main remote branch(es). Policy: single main branch only.",
"type": "GS007",
"file": ".",
"action": "delete_remote_branches",
"rule_module": "git_state",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
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.
No description provided.