Diagnostic and cause
LinkForm is disallowed by the selected profile
- Family
- topaz
- Phase
- profile
- Code
TPZ5801
Cause and conditions
The agent- profile rejects the canonical std. import with TPZ5801. The test- profile admits that import and call in language mode 5.21.
Response
Use test- when the task requires its canonical assertion operation, or remove the test-framework use from an agent-pack program.
Source evidence
- compiler/crates/topaz_diag/src/explain.rs at
151141d7bb44· 981-996 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
151141d7bb44· 112-112 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 101-120 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 450-481 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 699-725
Compiler phase: profile.
Compiler explanation: The program is valid canonical Topaz, but the selected usage profile narrows this form out of its admitted surface.
Message templates are Pending. The explanation above is not an observed CLI message.
The agent- profile rejects the canonical std. import with TPZ5801. The test- profile admits that import and call in language mode 5.21.
Canonical assertion depends on the selected profile
The agent- profile rejects the canonical std. import with TPZ5801. The test- profile admits that import and call in language mode 5.21.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 101-120 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 450-481 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 699-725
Response
LinkUse test- when the task requires its canonical assertion operation, or remove the test-framework use from an agent-pack program.
Reproduction and verification
LinkRejected program
Linkimport std.test { assert }assert(true)
No stdout.
Expected result
The required finding points at the std.test import; the call may add another profile finding. Both programs explicitly import assert. Their fixture and invocation identities differ from the old bare-assert candidate, so its receipt is not reused. Successful check stdout is not asserted.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 101-120 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 450-481 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 699-725
Repaired program
Linkimport std.test { assert }assert(true)
Expected result
Expected result
Checking accepts the program. Exit code 0.
The required finding points at the std.test import; the call may add another profile finding. Both programs explicitly import assert. Their fixture and invocation identities differ from the old bare-assert candidate, so its receipt is not reused. Successful check stdout is not asserted.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 101-120 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 450-481 - compiler/crates/topaz_self_frontend/topaz/profile.tpz at
17711dcdbc9b· 699-725