Record independent Go toolchain and consumer minimum policy
This commit is contained in:
@@ -22,7 +22,11 @@ and conditional certificate-trust exposure. Use a patched maintainer toolchain
|
|||||||
and repeat the focused security assessment against it. Actual downstream
|
and repeat the focused security assessment against it. Actual downstream
|
||||||
exposure depends on the toolchain that builds the consumer and its transport
|
exposure depends on the toolchain that builds the consumer and its transport
|
||||||
and trust configuration; raising PromptKit's minimum Go requirement is a
|
and trust configuration; raising PromptKit's minimum Go requirement is a
|
||||||
separate compatibility decision, not an implied remedy.
|
separate compatibility concern, not an implied remedy.
|
||||||
|
[Decision 5](#decision-5-consumer-go-minimum-after-the-toolchain-update) reaffirms
|
||||||
|
independent maintainer-toolchain selection and the initial-release consumer
|
||||||
|
minimum. Advising consumers about generally applicable Go vulnerabilities is
|
||||||
|
outside PromptKit's responsibility.
|
||||||
|
|
||||||
Sources: [Security 1](07-security.md#1-the-audited-go-toolchain-predates-applicable-networking-security-fixes).
|
Sources: [Security 1](07-security.md#1-the-audited-go-toolchain-predates-applicable-networking-security-fixes).
|
||||||
|
|
||||||
@@ -593,37 +597,46 @@ ConfigKit's deferred rejection of unsupported inputs. Remove obsolete adapter
|
|||||||
code and tests. Preserve distinct runtime JSON-copying behavior. This is a
|
code and tests. Preserve distinct runtime JSON-copying behavior. This is a
|
||||||
deliberate compatibility change; this record does not itself implement it.
|
deliberate compatibility change; this record does not itself implement it.
|
||||||
|
|
||||||
## Open Decisions
|
|
||||||
|
|
||||||
Work through the remaining decisions below in order, retaining their original
|
|
||||||
numbers. These are unresolved choices, not additional findings or approved
|
|
||||||
changes to public contracts. A decision blocks its dependent remediation, not
|
|
||||||
unrelated fixes. In particular, updating the maintainer toolchain need not wait
|
|
||||||
for the consumer-minimum decision. Implementation details and optional cleanup
|
|
||||||
do not become release gates merely by appearing in this catalog.
|
|
||||||
|
|
||||||
### Decision 5: Consumer Go Minimum After The Toolchain Update
|
### Decision 5: Consumer Go Minimum After The Toolchain Update
|
||||||
|
|
||||||
**Related finding:** [1](#1-update-the-audited-maintainer-toolchain-for-applicable-security-fixes).
|
**Related finding:** [1](#1-update-the-audited-maintainer-toolchain-for-applicable-security-fixes).
|
||||||
|
|
||||||
**Question:** Should the security fixes also change PromptKit's declared minimum
|
**Status:** Accepted; maintainer-toolchain remediation pending.
|
||||||
consumer Go version?
|
|
||||||
|
|
||||||
**Recommendation:** Update the maintainer toolchain and repeat the focused
|
**Decision:** Select the maintainer toolchain independently of the consumer Go
|
||||||
assessment promptly; initially keep the consumer minimum decision separate.
|
minimum. Always use the latest locally available Go version for PromptKit builds
|
||||||
Advise affected consumers to rebuild with a patched toolchain. This recognizes
|
and tests, including ordinary development and release validation. Update the
|
||||||
that PromptKit publishes source and that downstream build/transport choices
|
local installation as needed to address the audit findings; local availability
|
||||||
control the deployed exposure.
|
alone does not establish that those fixes are present.
|
||||||
|
|
||||||
**Alternative:** Raise the declared minimum to the selected patched release.
|
Normally set the consumer minimum to the initial stable release (`1.x.0`) of
|
||||||
This makes the supported floor clearer and steers module consumers toward the
|
the current selected series. Advance series in minor releases; preserve the
|
||||||
fixed toolchain, but changes compatibility and does not repair already-built
|
minimum in patch releases. Retain the existing exception for a dependency or
|
||||||
applications. Assess it under the existing release policy rather than treating
|
identified correctness requirement that needs a higher patch minimum. This
|
||||||
it as an automatic consequence of the scanner output.
|
reaffirms the [release policy](../../policy/release.md#consumer-minimum-and-release-toolchain)
|
||||||
|
and [release procedure](../../release.md#prepare-the-candidate), extending the
|
||||||
|
latest-local-toolchain instruction explicitly to ordinary builds and tests.
|
||||||
|
|
||||||
**Resolve before changing the minimum:** Confirm current advisory applicability,
|
Advising consumers to update Go for generally applicable vulnerabilities is not
|
||||||
select the patched version, and decide whether changing the supported consumer
|
PromptKit's responsibility. Do not add consumer advisories, upgrade notices, or
|
||||||
floor is justified. No new recurring release gate is implied.
|
an ongoing vulnerability-notification obligation for those issues to this
|
||||||
|
remediation. Downstream toolchain maintenance belongs to the consuming project.
|
||||||
|
|
||||||
|
**Alternative considered:** Raising the consumer patch minimum as a routine
|
||||||
|
response to general Go security advisories would conflate library compatibility
|
||||||
|
with downstream toolchain maintenance. That approach is not selected.
|
||||||
|
|
||||||
|
**Remediation follow-through:** Use the selected local toolchain for the focused
|
||||||
|
reassessment and clarify ordinary development toolchain selection in contributor
|
||||||
|
guidance. No new recurring release gate or general consumer security advisory
|
||||||
|
work is introduced. This record does not itself update the installed toolchain.
|
||||||
|
|
||||||
|
## Open Decisions
|
||||||
|
|
||||||
|
The remaining decision below retains its original number. It is an unresolved
|
||||||
|
choice, not an additional finding or approved contract change. It blocks only
|
||||||
|
its dependent remediation. Implementation details and optional cleanup do not
|
||||||
|
become release gates merely by appearing in this catalog.
|
||||||
|
|
||||||
### Decision 6: Retention Of The Legacy Capacity Client Wrapper
|
### Decision 6: Retention Of The Legacy Capacity Client Wrapper
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user