Merge branch 'main' into feat/docs-sandbox-web
This commit is contained in:
@@ -322,6 +322,10 @@ abort under load.
|
||||
the dictionary spine, retiring their inline bilingual literals in favor of
|
||||
locale dictionaries with token-aware code spans (#5504, closes #5337, which
|
||||
they also filed).
|
||||
- Lstarsky0 (@Lstarsky0) — `docs/constitution` and `docs/runtime-api` follow
|
||||
the same dictionary spine: 28 inline `isZh` branches become typed English
|
||||
and Chinese dictionaries held to key and token parity, while the other
|
||||
sixteen locales keep the English fallback (#5517, a further phase of #5337).
|
||||
- @thejayjetson — the header status-indicator report that pinned the
|
||||
regression to a specific setting, with every value, theme, and
|
||||
`fancy_animations` combination already ruled out (#5512).
|
||||
|
||||
@@ -322,6 +322,10 @@ abort under load.
|
||||
the dictionary spine, retiring their inline bilingual literals in favor of
|
||||
locale dictionaries with token-aware code spans (#5504, closes #5337, which
|
||||
they also filed).
|
||||
- Lstarsky0 (@Lstarsky0) — `docs/constitution` and `docs/runtime-api` follow
|
||||
the same dictionary spine: 28 inline `isZh` branches become typed English
|
||||
and Chinese dictionaries held to key and token parity, while the other
|
||||
sixteen locales keep the English fallback (#5517, a further phase of #5337).
|
||||
- @thejayjetson — the header status-indicator report that pinned the
|
||||
regression to a specific setting, with every value, theme, and
|
||||
`fancy_animations` combination already ruled out (#5512).
|
||||
|
||||
@@ -737,8 +737,8 @@ mod tests {
|
||||
fn raw_stream_ceiling_clears_every_downstream_bound() {
|
||||
// The clip must be unreachable by the model-visible surfaces: the 30 KB
|
||||
// result truncation, the 1,200-char job tail, the 1 KiB completion tail.
|
||||
assert!(RAW_STREAM_MAX_BYTES > 30_000 * 100);
|
||||
assert!(super::RAW_STREAM_SETTLED_TAIL_BYTES > 30_000);
|
||||
const { assert!(RAW_STREAM_MAX_BYTES > 30_000 * 100) };
|
||||
const { assert!(super::RAW_STREAM_SETTLED_TAIL_BYTES > 30_000) };
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@@ -3908,7 +3908,7 @@ fn completed_assistant_answer_projection_excludes_reasoning_tools_and_status() {
|
||||
// no reasoning, tool calls/results, runtime status, or scaffolding.
|
||||
use crate::tui::ui_text::history_cell_to_clipboard_text;
|
||||
|
||||
let cells = vec![
|
||||
let cells = [
|
||||
HistoryCell::User {
|
||||
content: "please summarize".to_string(),
|
||||
},
|
||||
|
||||
@@ -280,7 +280,7 @@ mod tests {
|
||||
#[test]
|
||||
fn every_option_is_visible_at_80_columns() {
|
||||
let rows = lines(&app(), 72, 17);
|
||||
let text = rows.iter().map(|line| row_text(line)).collect::<Vec<_>>();
|
||||
let text = rows.iter().map(row_text).collect::<Vec<_>>();
|
||||
|
||||
for (_, tag, native, _) in LANGUAGE_OPTIONS {
|
||||
let shown = text.iter().any(|row| row.contains(native));
|
||||
|
||||
@@ -66,12 +66,12 @@ fn stall_timeout() -> Option<Duration> {
|
||||
pub fn progress(label: &str) {
|
||||
let elapsed = epoch().elapsed().as_millis().min(u128::from(u64::MAX)) as u64;
|
||||
last_progress_millis().store(elapsed, Ordering::Relaxed);
|
||||
if let Ok(mut slot) = last_label().try_lock() {
|
||||
if slot.as_str() != label {
|
||||
if let Ok(mut slot) = last_label().try_lock()
|
||||
&& slot.as_str() != label
|
||||
{
|
||||
slot.clear();
|
||||
slot.push_str(label);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Start the watchdog once per process. Safe and cheap to call on every spawn.
|
||||
|
||||
@@ -128,11 +128,18 @@ describe("shared getting-started path", () => {
|
||||
expect(first.body.en).toContain("without any API key");
|
||||
expect(first.body.en).toContain("Plan mode");
|
||||
expect(first.body.en).toMatch(/Model replies need a provider/);
|
||||
// The keyless-launch claim is documented behavior, not invented copy.
|
||||
// The keyless-launch claim must stay backed by documented runtime
|
||||
// behavior. Assert the meaning docs/GUIDE.md owes this step -- a first
|
||||
// launch that asks only for the decisions still needed, and a provider
|
||||
// step that keeps an explicit offline route -- rather than one frozen
|
||||
// sentence, which is what broke when the first-run flow was rewritten.
|
||||
// Heading-level hashes only: shell comments inside the fenced install
|
||||
// snippets start with a single "#" and must not end the section slice.
|
||||
const guide = repoText("docs/GUIDE.md");
|
||||
expect(guide).toContain(
|
||||
"On first launch, Codewhale opens with a recommended working agreement",
|
||||
);
|
||||
const firstLaunch = guide.split(/^#{2,} .*First Launch.*$/m)[1]?.split(/^#{2,} /m)[0] ?? "";
|
||||
expect(firstLaunch, "docs/GUIDE.md must keep a First Launch section").not.toBe("");
|
||||
expect(firstLaunch).toMatch(/asks only for decisions/i);
|
||||
expect(firstLaunch).toMatch(/offline route/i);
|
||||
});
|
||||
|
||||
it("uses only documented commands", () => {
|
||||
|
||||
Reference in New Issue
Block a user