Q40: tasks choose a writing mode; house style applies to conversational work only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-08 07:28:47 -04:00
1 parent 645ce686bb
commit 7be072f8c5
18 files changed
+119 -41

No files matched your search

+3 -1
View File
@@ -1,4 +1,4 @@
import type { ApprovalState, IdentitySource, PrincipalType, RiskLevel, RoleKey, TaskPriority, TaskStatus, UiLanguage, UiTheme } from "../domain";
import type { ApprovalState, IdentitySource, PrincipalType, RiskLevel, RoleKey, TaskPriority, TaskStatus, UiLanguage, UiTheme, WritingMode } from "../domain";
export interface SetActiveOrganizationInput {
orgId: string;
@@ -86,6 +86,8 @@ export interface CreateTaskInput {
workspaceId: string | null;
priority: TaskPriority;
requiresFilesystem: boolean;
/** Defaults to conversational. */
writingMode?: WritingMode;
/** Provenance: 'chat_wake' for mention-wake vehicles, 'goal_review' for CEO goal checkpoints, omitted for plain work. */
origin?: "chat_wake" | "goal_review";
}
+2
View File
@@ -25,6 +25,8 @@ export interface ResolveAgentSkillsInput {
taskText: string;
/** The run's provider and model, matched against each skill's compatible_models. */
runModel: { providerKey: string; model: string | null };
/** False on technical and structured tasks, which skip the house-style skill. */
houseStyle: boolean;
}
export interface RunSkillTestsInput {
+4
View File
@@ -19,11 +19,14 @@ export const TASK_STATUS = { BACKLOG: "backlog", IN_PROGRESS: "in_progress", REV
export const APPROVAL_STATE = { PENDING: "pending", APPROVED: "approved", DECLINED: "declined" } as const;
export const RISK_LEVEL = { LOW: "low", MEDIUM: "medium", HIGH: "high" } as const;
export const TASK_PRIORITY = { LOW: "low", NORMAL: "normal", HIGH: "high" } as const;
/** How a task's output should read: conversational prose carries house style; technical and structured do not. */
export const WRITING_MODE = { CONVERSATIONAL: "conversational", TECHNICAL: "technical", STRUCTURED: "structured" } as const;
export const PROVIDER_AUTH_TYPE = { API_KEY: "api_key", OAUTH_PKCE: "oauth_pkce", ACCOUNT_SUBSCRIPTION: "account_subscription", CLOUD: "cloud" } as const;
export const SOCIAL_PLATFORM = { X: "x", LINKEDIN: "linkedin", YOUTUBE: "youtube", INSTAGRAM: "instagram" } as const;
export const FILE_SCAN_STATE = { APPROVED: "approved", BLOCKED: "blocked" } as const;
export type ValueOf<T> = T[keyof T];
export type WritingMode = ValueOf<typeof WRITING_MODE>;
export type TaskStatus = ValueOf<typeof TASK_STATUS>;
export type ApprovalState = ValueOf<typeof APPROVAL_STATE>;
export type RiskLevel = ValueOf<typeof RISK_LEVEL>;
@@ -94,6 +97,7 @@ export interface TaskRecord {
priority: TaskPriority;
parentTaskId: string | null;
requiresFilesystem: boolean;
writingMode: WritingMode;
createdAt: string;
updatedAt: string;
}