چرخهٔ عمر نسخه
هر نسخه از پیشنویس آغاز میشود، پس از گذراندن بررسیها اعتبارسنجی میشود، منتشر میگردد و در نهایت بایگانی میشود. ویرایشِ نسخهٔ منتشرشده ممکن نیست؛ ویرایش، نسخهٔ بعدی را میسازد.
مستندات فنی
این صفحه برای بررسی فنی نوشته شده است: تیم فناوری اطلاعات، مسئول امنیت، و کارشناسی که میخواهد پیش از اتکا به یک نمره بداند آن نمره چگونه ساخته میشود.
محتوای آزمون
یک نمره فقط در برابر همان اقلامی معنا دارد که آن را تولید کردهاند. این بند، سازوکاری است که آن تضمین را ممکن میکند.
هر نسخه از پیشنویس آغاز میشود، پس از گذراندن بررسیها اعتبارسنجی میشود، منتشر میگردد و در نهایت بایگانی میشود. ویرایشِ نسخهٔ منتشرشده ممکن نیست؛ ویرایش، نسخهٔ بعدی را میسازد.
انتشار متوقف میشود اگر پرسشی به مقیاس پاسخ متصل نباشد، شناسهٔ تکراری در یک نسخه وجود داشته باشد، نمرهای بیرون از بازهٔ مقیاس تعریف شده باشد، نگاشتی به سنجهای ناموجود اشاره کند، نموداری سنجهای تعریفنشده را رسم کند، یا مقیاسی کمتر از دو گزینه داشته باشد.
نسخهٔ آزمون روی خودِ ارجاع ثبت میشود. انتشار نسخهٔ جدید، آنچه فردی در حال پاسخ دادن به آن است یا آنچه قبلاً سنجیده شده را تغییر نمیدهد.
کلید هر دامنه و وجه میان نسخهها ثابت میماند. این همان چیزی است که مقایسهٔ نتایج دورههای مختلف را — بدون هیچ گزارشسازی جانبی — ممکن میکند.
مقیاسهای پاسخ از الگوهای مشترک ساخته میشوند، اما هر نسخه نسخهٔ خودش را نگه میدارد. محتوای مشترک قابل تثبیت نیست و محتوای تثبیتشده قابل اشتراک نیست؛ این تفکیک، هر دو نیاز را همزمان برآورده میکند.
نمرهگذاری
نمرهگذاری قطعی است: هیچ مدل آماری یا یادگیری ماشینی میان پاسخ و نمره قرار ندارد، و همان ورودی همیشه همان خروجی را میدهد.
هر پرسش میتواند همزمان به وجه خودش و به دامنهٔ بالادستی نمره بدهد، هر کدام با وزن مستقل. این با یک ستون «کلید سنجه» روی پرسش قابل بیان نیست و به همین دلیل بهصورت رابطهٔ چندبهچند مدل شده است.
نمرهٔ معکوس با فرمول «کمینه + بیشینه − نمرهٔ خام» محاسبه میشود و بازه از خودِ گزینههای همان مقیاس خوانده میشود. یک عدد ثابت در کد برای اولین ابزار درست کار میکند و برای مقیاسی با دامنهٔ متفاوت نتیجهٔ نادرست میدهد.
یک پرسش میتواند برای یک سنجه معکوس شمرده شود و برای سنجهٔ دیگر نه. این ویژگی روی رابطهٔ پرسش و سنجه تعریف شده است، نه روی خودِ پرسش.
بازهها هم برای هر سنجه و هم برای کل آزمون تعریف میشوند. هر بازه دقیقاً به یکی از این دو تعلق دارد و این محدودیت در سطح پایگاه داده اعمال میشود.
موتور نمرهگذاری مستقل از هر صفحه و پیش از ساختهشدن آن، در برابر پروفایلهایی با نتیجهٔ از پیش معلوم آزموده میشود. مجموعهٔ مرجعی که منبعش قابل ذکر نباشد ملاک پذیرش نیست؛ چنین چیزی معیار نیست، فقط تصویری از رفتار همان روزِ کد است.
ردیابی
هر حلقه از این زنجیره یک تصمیم در ساختار داده است، نه یک قابلیت گزارشگیری که بعداً اضافه شده باشد.
نمرات محاسبهشده بههمراه شناسهٔ نسخهای که با آن محاسبه شدهاند ذخیره میشوند، پس نتیجه سالها بعد هم قابل بازتولید است.
هر پاسخ هم گزینهٔ انتخابشده و هم مقدار عددی همان گزینه را نگه میدارد. این تکرار عمدی است و آزمونی وجود دارد که تطابق این دو را بررسی میکند.
تأیید سازمان، تغییر عضویت، ارجاع، کسر از کیف پول و انتشار نسخه ثبت میشوند. برای این ثبتها مسیر ویرایش یا حذف وجود ندارد و کنشگر هر رویداد — کاربر، مدیر پلتفرم یا خودِ سامانه — مشخص است.
همهٔ مبالغ بهصورت ریال صحیح در یک دفتر کل نگهداری میشوند و تنها در لحظهٔ نمایش به تومان تبدیل میگردند، تا خطای گِردکردن جایی برای پیدا شدن نداشته باشد.
جداسازی داده
جداسازی در لایهٔ مدل اعمال میشود، نه با بررسیهای موردی در هر نقطهٔ ورودی — چون نقطهٔ ورودیای که فراموش شود، همانجاست که نشت رخ میدهد.
سازمان فعال از نشست خوانده میشود، نه از پارامتر درخواست. شناسهٔ سازمانی که در بدنهٔ درخواست بیاید چیزی است که باید در برابر نشست اعتبارسنجی شود، نه منبع حقیقت.
مدلهای متعلق به سازمان بهصورت خودکار به سازمان فعال محدود میشوند و آزمونی معماری بررسی میکند هیچ مدلی از این مجموعه جا نیفتاده باشد. بازبینی کد این را بهطور قابل اتکا نمیگیرد؛ آزمون میگیرد.
درخواست برای دادهٔ سازمان دیگر پاسخ «یافت نشد» میگیرد، نه «مجاز نیست». پاسخ دوم خودش تأیید میکند که آن داده وجود دارد.
سه نقش وجود دارد: راهبر سازمان، سرپرست و کارمند. کارمند همیشه نتیجهٔ خودش را میبیند. راهبر سازمان همهٔ نتایج سازمانش را میبیند. سرپرست فقط نتایج کارمندانِ گروههایی را میبیند که راهبر به او سپرده است. برای هر کس دیگر خواندن نتیجه نیازمند مجوز صریح است و کسی نمیتواند مجوزی بدهد که خودش آن دید را ندارد. هر صدور و هر لغو در دفتر رویدادها ثبت میشود و مجوز لغوشده حذف نمیشود، تا سابقهٔ اینکه چه کسی چه زمانی دسترسی داشته باقی بماند.
هویت و امنیت
هویت در این سامانه شمارهٔ موبایل است، چون بسیاری از کارکنانی که ارزیابی میشوند رایانامهٔ سازمانی ندارند.
هر دو مسیر به نشست یکسانی میرسند. داشتن گذرواژه الزامی نیست؛ کسی که هرگز گذرواژهای نداشته با کد وارد میشود و میتواند همانجا برای خود گذرواژه بسازد.
درخواست رمز یکبارمصرف برای شمارهای که حساب دارد و شمارهای که ندارد، پاسخ و زمانبندی یکسان میدهد. تفاوت در «چه زمانی» رد میشود هم بهاندازهٔ تفاوت در «چه چیزی» گفته میشود افشاگر است.
کد زنده یک اعتبارنامه است؛ کسی که جدول را بخواند نباید بتواند با آنچه میبیند وارد شود. هر کد یکبار مصرف است و با ارسال کد جدید، کد قبلی باطل میشود.
یک سقف برای درخواست کد و یک سقف برای تلاشهای نادرست. اولی مانع حجم است و دومی مانع صبر؛ شمارش هر دو پیش از یافتن حساب انجام میشود تا خودِ محدودسازی چیزی را فاش نکند.
میزبانی داخل کشور یا استقرار روی زیرساخت سازمان. مسیر پرداخت و مسیر پیامک هر دو داخلیاند و هیچ سرویس خارجی در آنها قرار ندارد.
جزئیات بیشتر — از جمله مستندات استقرار و مدل تهدید — در جلسهٔ بررسی فنی ارائه میشود.