Import the remade decks on stable ids and recommend one card per job, so a saved draft still loads after a chip is renamed.

The real-group profiles stay as a test, so a change that moves a pick fails.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
adilalloandCursor committed 2026-11-04 14:22:54 -07:00
1 parent 96ca15d8e3
commit bcbc6f30d9
89 files changed
+36555 -2828

No files matched your search

@@ -26,6 +26,7 @@ import {
sectionFromDecision,
sectionFromMembership,
} from "./ruleSectionsFromMethodSelections";
import { withSharedTerms } from "./sharedTermsSection";
import {
templateCategoryToGroupKey,
type TemplateFacetGroupKey,
@@ -50,30 +51,30 @@ const CANONICAL_DISPLAY_SECTION_ORDER = [
] as const;
const COMM_LABELS: Record<string, string> = {
corePrinciple: "Core Principle & Scope",
logisticsAdmin: "Logistics, Admin & Norms",
codeOfConduct: "Code of Conduct",
corePrinciple: "Core principle and scope",
logisticsAdmin: "How it works",
codeOfConduct: "Norms",
};
const MEM_LABELS: Record<string, string> = {
eligibility: "Eligibility & Philosophy",
joiningProcess: "Joining Process",
expectations: "Expectations & Removal",
eligibility: "Who it covers and why",
joiningProcess: "How it works",
expectations: "Expectations and limits",
};
const DEC_LABELS: Record<string, string> = {
corePrinciple: "Core Principle",
applicableScope: "Applicable Scope",
stepByStepInstructions: "Step-by-Step Instructions",
consensusLevel: "Consensus Level",
objectionsDeadlocks: "Objections & Deadlocks",
corePrinciple: "Core principle",
applicableScope: "Applicable scope",
stepByStepInstructions: "Step-by-step instructions",
consensusLevel: "Consensus level",
objectionsDeadlocks: "Objections and deadlocks",
};
const CM_LABELS: Record<string, string> = {
corePrinciple: "Core Principle",
applicableScope: "Applicable Scope",
processProtocol: "Process Protocol",
restorationFallbacks: "Restoration & Fallbacks",
corePrinciple: "Core principle",
applicableScope: "Applicable scope",
processProtocol: "How it works",
restorationFallbacks: "Protections and fallbacks",
};
function needsPlaceholderPresetEnrichment(entry: CommunityRuleEntry): boolean {
@@ -305,6 +306,7 @@ export function parsePublishedDocumentForCommunityRuleDisplay(
);
}
const combined = displaySections.map(enrichDisplaySection);
return sortSectionsCanonical(combined);
const sorted = sortSectionsCanonical(displaySections.map(enrichDisplaySection));
if (sorted.length === 0) return sorted;
return withSharedTerms(sorted);
}