feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
Add /ultraresearch-local for structured research combining local codebase analysis with external knowledge via parallel agent swarms. Produces research briefs with triangulation, confidence ratings, and source quality assessment. New command: /ultraresearch-local with modes --quick, --local, --external, --fg. New agents: research-orchestrator (opus), docs-researcher, community-researcher, security-researcher, contrarian-researcher, gemini-bridge (all sonnet). New template: research-brief-template.md. Integration: --research flag in /ultraplan-local accepts pre-built research briefs (up to 3), enriches the interview and exploration phases. Planning orchestrator cross-references brief findings during synthesis. Design principle: Context Engineering — right information to right agent at right time. Research briefs are structured artifacts in the pipeline: ultraresearch → brief → ultraplan --research → plan → ultraexecute. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
4dc868ea62
151 changed files with 34374 additions and 0 deletions
49
hooks/scripts/week-rollover.mjs
Normal file
49
hooks/scripts/week-rollover.mjs
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
// Pure function for week-rollover logic.
|
||||
// Exported separately for testability.
|
||||
|
||||
/**
|
||||
* Apply week rollover to state file content.
|
||||
* Returns updated content string if rollover was applied, null otherwise.
|
||||
*
|
||||
* @param {string} stateContent - Full state file content (with YAML frontmatter)
|
||||
* @param {string} currentWeek - Week value from state file (e.g. "2026-W14")
|
||||
* @param {string} actualWeek - Computed current ISO week (e.g. "2026-W15")
|
||||
* @returns {{ content: string, message: string } | null}
|
||||
*/
|
||||
export function applyWeekRollover(stateContent, currentWeek, actualWeek) {
|
||||
if (!actualWeek) return null;
|
||||
|
||||
// Case 1: current_week is empty — initialize without resetting posts
|
||||
if (!currentWeek) {
|
||||
const updated = stateContent.replace(
|
||||
/^current_week: .*/m,
|
||||
`current_week: "${actualWeek}"`
|
||||
);
|
||||
if (updated === stateContent) return null;
|
||||
return {
|
||||
content: updated,
|
||||
message: `Initialized current_week to ${actualWeek}.`
|
||||
};
|
||||
}
|
||||
|
||||
// Case 2: week matches — no action needed
|
||||
if (currentWeek === actualWeek) return null;
|
||||
|
||||
// Case 3: week changed — reset posts_this_week and update current_week
|
||||
let updated = stateContent;
|
||||
updated = updated.replace(
|
||||
/^posts_this_week: .*/m,
|
||||
'posts_this_week: 0'
|
||||
);
|
||||
updated = updated.replace(
|
||||
/^current_week: .*/m,
|
||||
`current_week: "${actualWeek}"`
|
||||
);
|
||||
|
||||
if (updated === stateContent) return null;
|
||||
|
||||
return {
|
||||
content: updated,
|
||||
message: `Auto-reset: posts_this_week → 0 for new week ${actualWeek} (was ${currentWeek}).`
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue