A-THAI-1 — M6 Foundation Gate
Stress-test: Tufte margin rail (16rem) · EN + TH bilingual · Bricolage display face above · THROWAWAY
01 — English reading column · Literata · 66ch · margin notes in Plex Mono
Spec-Driven Development is not a methodology in the traditional sense — it is a discipline of writing down what you intend before you build it, so the gap between intent and implementation becomes visible. In practice this means a Validation Contract: a set of falsifiable assertions that a feature must satisfy before it is declared done. The assertions are not tests, though they drive tests; they are the claim the developer makes about the world.
When the assertions are written first, a peculiar thing happens: vague requirements collapse. "The page should feel fast" becomes "LCP under 2.5 s on a Moto G4 over 3G, measured with WebPageTest at a European PoP." The specificity is uncomfortable at first because it exposes what we do not know. But the discomfort is the point — it surfaces ambiguity while the cost of resolving it is still low.
The alternative — vibing toward a working product — is seductive because it feels productive. Every keystroke produces something. The problem is that without a contract, "done" is whatever the developer says it is on the day they stop working. Spec-driven work decouples done from fatigue. It is a bet that the discipline of definition up front pays larger dividends than the freedom of open-ended exploration.
02 — Thai reading column · IBM Plex Sans Thai · diacritic stress test · 1.75 line-height
วิศวกรรม AI ไม่ใช่แค่การเรียกใช้ API — มันคือศิลปะของการสร้างระบบที่เชื่อถือได้ด้วยส่วนประกอบที่ไม่แน่นอน ตัวแทน RAG ระบบประเมินผล และการออกแบบ prompt ล้วนต้องการความเข้าใจอย่างลึกซึ้งว่าโมเดลภาษาทำงานอย่างไร ภายใต้ข้อจำกัดด้านโทเค็น ความน่าจะเป็น และบริบท
การพัฒนาด้วย spec นั้นมีความสำคัญเป็นพิเศษในระบบ AI เนื่องจากพฤติกรรมของโมเดลเป็นแบบสุ่มโดยเนื้อแท้ เราไม่สามารถทดสอบเส้นทางการทำงานทุกเส้นทางได้ แต่เราสามารถกำหนดสัญญาเกี่ยวกับพฤติกรรมเฉลี่ย อัตราความสำเร็จขั้นต่ำ และเคสขอบเขตที่ต้องผ่านได้เสมอ สัญญาเหล่านี้คือสิ่งที่แยก "ใช้งานได้บนแล็ปท็อปของฉัน" ออกจากระบบที่พร้อมสำหรับการผลิตจริง
นักพัฒนาที่เรียนรู้การสร้างด้วย AI — กลุ่มที่เราเรียกว่า Vibe Coders — มักเผชิญกับช่วงเวลาที่ยากลำบาก เมื่อระบบที่ดูเหมือนทำงานได้ดีในการทดสอบกลับล้มเหลวในสภาพแวดล้อมจริง สาเหตุเกือบทุกครั้งคือ ไม่มีสัญญาที่ชัดเจนตั้งแต่แรก ความคลุมเครือในข้อกำหนดกลายเป็นจุดอ่อนที่ข้อมูลจริงจะค้นหาและเปิดเผย
03 — MarginNote islands · client:visible · A-REACT-1 hydration gate
The two notes to the right are React islands hydrated via client:visible.
They demonstrate the §4.4 tap/click-to-reveal behavior for the mobile narrow-rail case:
a monospaced kicker label is always visible; clicking it toggles the note body.
Keyboard-operable (real <button>), reduced-motion aware, and styled
exclusively via CSS custom property tokens — no hardcoded colors.
หมายเหตุที่สองด้านขวาเป็นภาษาไทย — ทดสอบว่า island สามารถแสดงข้อความภาษาไทยและ อักขระพิเศษได้อย่างถูกต้องในสภาพแวดล้อม React component