merge
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
|||||||
|
FROM node:22-bookworm-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY text-to-cad ./text-to-cad
|
||||||
|
|
||||||
|
RUN cd text-to-cad/viewer && npm install
|
||||||
|
RUN cd text-to-cad/apps/cad-agent-studio && npm install && npm run build
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
ENV HOSTNAME=0.0.0.0
|
||||||
|
ENV PORT=3000
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
CMD ["sh", "-lc", "cd /app/text-to-cad/apps/cad-agent-studio && npm run start -- -H 0.0.0.0 -p ${PORT}"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"draft_kind": "llm_generalized_experience_proposals",
|
||||||
|
"proposals": [
|
||||||
|
{
|
||||||
|
"id": "motif.rotational_part.coaxial_core_with_center_passage",
|
||||||
|
"kind": "feature_motif",
|
||||||
|
"scope": ["rotational_part"],
|
||||||
|
"evidence_query": {
|
||||||
|
"required_features": [
|
||||||
|
"rotational_body",
|
||||||
|
"coaxial_cylindrical_stack",
|
||||||
|
"central_passage"
|
||||||
|
],
|
||||||
|
"required_relations": [
|
||||||
|
"coaxial_stack",
|
||||||
|
"dominant_axis_alignment"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"guidance": "Treat the rotational body, coaxial cylindrical stack, and central passage as one shared-axis core.",
|
||||||
|
"semantic_rationale": "The relationship transfers because the participating roles describe axis organization rather than a particular size.",
|
||||||
|
"check": "Confirm that the rotational body, stacked cylindrical roles, and central passage retain their intended common axis."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "motif.rotational_part.patterned_axial_mounting",
|
||||||
|
"kind": "feature_motif",
|
||||||
|
"scope": ["rotational_part"],
|
||||||
|
"evidence_query": {
|
||||||
|
"required_features": [
|
||||||
|
"rotational_body",
|
||||||
|
"repeated_axial_hole_pattern"
|
||||||
|
],
|
||||||
|
"required_relations": [
|
||||||
|
"repeated_radius_group"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"guidance": "Represent repeated axial holes as a symmetric mounting pattern tied to the rotational body.",
|
||||||
|
"semantic_rationale": "The motif remains useful across variants because it captures repeated functional placement around a rotational form.",
|
||||||
|
"check": "Confirm that repeated axial holes remain grouped consistently around the rotational body."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "constraint.rotational_part.shared_dominant_axis",
|
||||||
|
"kind": "constraint",
|
||||||
|
"scope": ["rotational_part"],
|
||||||
|
"evidence_query": {
|
||||||
|
"required_features": [
|
||||||
|
"rotational_body",
|
||||||
|
"coaxial_cylindrical_stack"
|
||||||
|
],
|
||||||
|
"required_relations": [
|
||||||
|
"dominant_axis_alignment"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"guidance": "Preserve the dominant axis as the organizing datum for rotational feature roles.",
|
||||||
|
"semantic_rationale": "The datum transfers because axis alignment is independent of the individual component dimensions.",
|
||||||
|
"check": "Confirm that rotational feature roles remain aligned to the same organizing datum."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "validation.rotational_part.axis_and_pattern_consistency",
|
||||||
|
"kind": "validation_rule",
|
||||||
|
"scope": ["rotational_part"],
|
||||||
|
"evidence_query": {
|
||||||
|
"required_features": [
|
||||||
|
"central_passage",
|
||||||
|
"repeated_axial_hole_pattern"
|
||||||
|
],
|
||||||
|
"required_relations": [
|
||||||
|
"dominant_axis_alignment",
|
||||||
|
"repeated_radius_group"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"guidance": "Validate both the shared rotational axis and the grouped repeated-hole relationship before handoff.",
|
||||||
|
"semantic_rationale": "These checks protect transferable intent without relying on instance geometry.",
|
||||||
|
"check": "Confirm shared-axis alignment and repeated-hole grouping before treating the model as ready."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"batch_kind": "sanitized_cad_semantic_review",
|
||||||
|
"guardrails": {
|
||||||
|
"contains_instance_dimensions": false,
|
||||||
|
"contains_absolute_coordinates": false,
|
||||||
|
"llm_must_propose_methods_not_copy_answers": true,
|
||||||
|
"proposals_require_deterministic_evidence_verification": true
|
||||||
|
},
|
||||||
|
"corpus_summary": {
|
||||||
|
"case_count": 2,
|
||||||
|
"family_count": 1
|
||||||
|
},
|
||||||
|
"cases": [
|
||||||
|
{
|
||||||
|
"anonymous_case": "case_000001",
|
||||||
|
"family": "rotational_part",
|
||||||
|
"features": [
|
||||||
|
"central_passage",
|
||||||
|
"coaxial_cylindrical_stack",
|
||||||
|
"multi_axis_passage",
|
||||||
|
"repeated_axial_hole_pattern",
|
||||||
|
"rotational_body"
|
||||||
|
],
|
||||||
|
"relations": [
|
||||||
|
"coaxial_stack",
|
||||||
|
"dominant_axis_alignment",
|
||||||
|
"repeated_radius_group"
|
||||||
|
],
|
||||||
|
"candidate_rules": [],
|
||||||
|
"validation_targets": [],
|
||||||
|
"dimensionless_observation_roles": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"anonymous_case": "case_000002",
|
||||||
|
"family": "rotational_part",
|
||||||
|
"features": [
|
||||||
|
"central_passage",
|
||||||
|
"coaxial_cylindrical_stack",
|
||||||
|
"repeated_axial_hole_pattern",
|
||||||
|
"rotational_body"
|
||||||
|
],
|
||||||
|
"relations": [
|
||||||
|
"coaxial_stack",
|
||||||
|
"dominant_axis_alignment",
|
||||||
|
"repeated_radius_group"
|
||||||
|
],
|
||||||
|
"candidate_rules": [],
|
||||||
|
"validation_targets": [],
|
||||||
|
"dimensionless_observation_roles": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"existing_vocabulary": {
|
||||||
|
"promoted_ids": [],
|
||||||
|
"candidate_ids": [
|
||||||
|
"constraint.flanged_hub_adapter.pattern_radius_consistency",
|
||||||
|
"constraint.flanged_hub_adapter.shared_dominant_axis",
|
||||||
|
"constraint.flanged_hub_adapter.transition_axis_continuity",
|
||||||
|
"motif.flanged_hub_adapter.rotational_core_with_patterned_mounting",
|
||||||
|
"validation.flanged_hub_adapter.rotational_relationships"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"draft_contract": {
|
||||||
|
"draft_kind": "llm_generalized_experience_proposals",
|
||||||
|
"proposal_required_fields": [
|
||||||
|
"id",
|
||||||
|
"kind",
|
||||||
|
"scope",
|
||||||
|
"evidence_query",
|
||||||
|
"guidance",
|
||||||
|
"semantic_rationale"
|
||||||
|
],
|
||||||
|
"allowed_kinds": [
|
||||||
|
"feature_motif",
|
||||||
|
"constraint",
|
||||||
|
"design_rule",
|
||||||
|
"validation_rule",
|
||||||
|
"failure_repair"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
services:
|
||||||
|
cad-agent-studio:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: cad-agent-studio
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
PORT: 3000
|
||||||
|
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:53821:3000"
|
||||||
|
volumes:
|
||||||
|
- ./text-to-cad/models/agent-studio:/app/text-to-cad/models/agent-studio
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
.git
|
||||||
|
**/node_modules
|
||||||
|
**/.next
|
||||||
|
**/dist
|
||||||
|
**/.DS_Store
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user