Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .castiron.stats.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
schema_version: 1
generation_id: 2428792f-6df7-44d0-b2c7-92a44663a53d
generation_id: d4461452-c37b-487c-8c71-83e713a670c7
openapi_spec_hash: 2c78c708cab402e8904f555026c78020
openapi_transformed_spec_hash: 2231f30a57a7a7afe95cb0d0e305c18d
config_hash: cd0aed93d2e3579562e42f5a5e8d2112
codegen_sha: fe5d1e3d7cd5be6d987dfa5637565092197e5ce9
codegen_hash: 9ee4dd63f01c9769c3fef3f62a5047ee332b009de2d4e4a5ae58e3036f36195c
public_codegen_sha: f17901f871361f6cdc52c77d0f27e447d26f89c2
openapi_transformed_spec_hash: b53dee1a1b6b0680c56117efaeb4a38e
config_hash: 5fbd85f2a098fccda62136e1e8f535a5
codegen_sha: 776b1ed9bd50d903a5d9989de14a30bc956ea2bd
codegen_hash: a94f8e1343fe3e30dcbfdb23b0ce647e450fc5cf82706378a6c604f2d94d504b
904 changes: 0 additions & 904 deletions .github/workflows/castiron-custom-code-comment.yml

This file was deleted.

116 changes: 0 additions & 116 deletions .github/workflows/castiron-custom-code.yml

This file was deleted.

8 changes: 3 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,9 @@ separately owned handwritten helpers and extension points.
Regeneration replaces generator-owned files and deletes retired generated paths.
Handwritten edits to generated files are overwritten; they are never replayed or
merged into new output. Preserve separately owned handwritten files and resolve
ownership collisions explicitly. Follow this AGENTS.md rule and review generated output and inventory changes
together. After canonical regeneration removes the legacy reporting tooling,
generated-file ownership relies on contributor guidance and code review. Until
then, the retained strict ownership checker can reject generated-file mismatches;
preserve its checks and satisfy any required statuses.
ownership collisions explicitly. Generated-file ownership relies on contributor
guidance and code review. Review generated output and inventory changes together.
The legacy reporting workflows and strict ownership checker have been removed.
Fix violations in the inputs/compiler and regenerate; never update inventory
hashes to accept a handwritten patch.

Expand Down
23 changes: 23 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,29 @@ The minimum supported runtime and tooling versions are now:

## Breaking changes

### Compaction output includes retained input messages

`responses.compact()` now types its `output` as `ResponseItem[]`, including retained
user, system, and developer messages alongside assistant output and compaction items.
The beta API makes the equivalent change to `BetaResponseItem[]`.

Replace explicit `ResponseOutputItem[]` annotations on compaction results with
`ResponseItem[]` (or infer the type from `result.output`). For beta results, use
`BetaResponseItem[]`. Update exhaustive item visitors to handle input messages:
check both `item.type` and `item.role` before reading assistant-only content fields.
Do not discard retained messages merely to satisfy the old output-only type.

```ts
import type { ResponseItem } from 'openai/resources/responses/responses';

const compacted = await client.responses.compact({ model, input });
const items: ResponseItem[] = compacted.output;
```

This change widens compaction response types; it does not change all request-input
unions. Passing the entire union back as request input can still require handling
item variants that its input type does not accept.

### Web types for `withResponse`, `asResponse`, and `APIError.headers`

Because we now use the builtin Web fetch API on all platforms, if you wrote code that used `withResponse` or `asResponse` and then accessed `node-fetch`-specific properties on the result, you will need to switch to standardized alternatives.
Expand Down
4 changes: 2 additions & 2 deletions api_reference/openapi.transformed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81935,7 +81935,7 @@ components:
type: array
description: The compacted list of output items. This is a list of all user messages, followed by a single compaction item.
items:
$ref: '#/components/schemas/OutputItem'
$ref: '#/components/schemas/ItemResource'
created_at:
type: integer
format: unixtime
Expand Down Expand Up @@ -104480,7 +104480,7 @@ components:
type: array
description: The compacted list of output items. This is a list of all user messages, followed by a single compaction item.
items:
$ref: '#/components/schemas/BetaOutputItem'
$ref: '#/components/schemas/BetaItemResource'
created_at:
type: integer
format: unixtime
Expand Down
27 changes: 8 additions & 19 deletions docs/architecture/security-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,11 @@

Generated files are updated through authoritative inputs or the compiler and
regeneration; handwritten edits to them are forbidden. Code review enforces this
ownership rule. The customization-budget system is being retired, but this
`next` revision still contains its workflow and publisher implementations.
Their removal is a separate canonical regeneration; this documentation change
does not remove or disable executable workflows.

Until those files are removed, include them in security review. The legacy
`.github/workflows/castiron-custom-code.yml` accepts PR/merge-group input, and
`.github/workflows/castiron-custom-code-comment.yml` can publish statuses and
comments. Preserve its trusted-code, event/repository/revision identity,
artifact-validation, freshness, and least-privilege boundaries. Do not infer
that repository settings eliminate these code paths from a scan of this tree.
See `scripts/castiron/CUSTOM_CODE.md` for the remaining implementation's historical
protocol; it does not authorize new handwritten edits to generated files or a
replacement budget system.
ownership rule. Canonical regeneration has removed the customization-budget
workflows, privileged status publisher, and strict ownership checker from this
revision. Repository rules and hosted workflow settings are configured separately;
verify their current required checks rather than inferring settings from file removal.
Do not introduce a replacement budget system.

The repository's canonical security policy is `.github/SECURITY.md`; this is
the canonical detailed threat model that policy references for the `openai`
Expand All @@ -25,11 +16,9 @@ in external scan configuration. It records reusable architecture and
trust-boundary context; the scenarios below are hypotheses and calibration
examples, not findings.

After canonical regeneration removes the legacy reporting tooling, generated-file
ownership relies on `AGENTS.md`, contributor guidance, and SDK code review. This
revision still retains the strict ownership checker, which can reject generated-file
mismatches. Preserve its checks and satisfy any required statuses. Review output
and inventory changes together; fix violations in the inputs/compiler and regenerate.
Generated-file ownership relies on `AGENTS.md`, contributor guidance, and SDK code
review. Review output and inventory changes together; fix violations in the
inputs/compiler and regenerate.

## 1. Overview

Expand Down
Loading
Loading