APC ಕ್ಲೋನ್-ಸುರಕ್ಷಿತವಾಗಿರಲಿ (Clone-Safe), APX ಮಷೀನ್-ಲೋಕಲ್ ಆಗಿರಲಿ (Machine-Local)
ಒಂದು ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುವ ಮೂಲಕ ಡೇಟಾ ಎಲ್ಲಿರಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ.
ಈ ಡೇಟಾ ಮತ್ತೊಂದು ಮಷೀನ್ನಲ್ಲಿ ಹೊಸ ಕ್ಲೋನ್ (fresh clone) ಮಾಡಿದ ನಂತರವೂ ಉಳಿಯುತ್ತದೆಯೇ?
ಹೌದಾದರೆ, ಅದನ್ನು APC ಯಲ್ಲಿ ಇರಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ, ಅದನ್ನು APX ಯಲ್ಲಿ ಇರಿಸಿ.
ಈ ನಿಯಮವು ನಿಮ್ಮ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ನಿಖರವಾಗಿಡುತ್ತದೆ. APC ಪೋರ್ಟಬಲ್ ಆಗಿರುತ್ತದೆ. APX ಕೆಲಸ ಮಾಡುವ ಮಷೀನ್ನಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ. ಈ ಪದರಗಳು (layers) ಬೆರೆತಾಗ, ಪ್ರಾಜೆಕ್ಟ್ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದು ಮತ್ತು ಆಡಿಟ್ ಮಾಡುವುದು ಕಷ್ಟವಾಗುತ್ತದೆ.
APC ಎಂಬುದು ಪ್ರಾಜೆಕ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ (project contract). APX ಎಂಬುದು ರನ್ಟೈಮ್ (runtime).
APC ಡೇಟಾ ಕ್ಲೋನ್-ಸುರಕ್ಷಿತವಾಗಿದೆ. ಮತ್ತೊಬ್ಬ ಡೆವಲಪರ್ ಅಥವಾ ಮಷೀನ್ git checkout ಮಾಡಿದ ತಕ್ಷಣ ಅದನ್ನು ಓದಬಲ್ಲಂತಿರಬೇಕು. ಅದನ್ನು git ನಲ್ಲಿ ಪರಿಶೀಲಿಸಲು (review) ಸಾಧ್ಯವಾಗಬೇಕು.
ಉತ್ತಮ APC ಉದಾಹರಣೆಗಳು: • ರೆಪೋ ಕಾಂಟ್ರಾಕ್ಟ್ಗಳಿಗಾಗಿ AGENTS.md • ಪ್ರಾಜೆಕ್ಟ್ ಗುರುತಿಗಾಗಿ .apc/project.json • ಏಜೆಂಟ್ ಪಾತ್ರಗಳಿಗಾಗಿ (agent roles) .apc/agents/ • ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಕೌಶಲಗಳಿಗಾಗಿ (reusable skills) .apc/skills/ • ಹಂಚಿಕೆಯ ಸುಳಿವುಗಳಿಗಾಗಿ (shared hints) .apc/mcps.json
APX ಡೇಟಾ ಮಷೀನ್-ಲೋಕಲ್ ಆಗಿದೆ. ಈ ಡೇಟಾ ಮಷೀನ್ನಲ್ಲಿಯೇ ಇರುತ್ತದೆ ಅಥವಾ ಅಲ್ಲಿಯೇ ಮರುನಿರ್ಮಿಸಲ್ಪಡುತ್ತದೆ (rebuilt). ಇದು ಎಕ್ಸಿಕ್ಯೂಷನ್ ಸ್ಟೇಟ್ (execution state), ಪೋರ್ಟಬಲ್ ಕಾಂಟೆಕ್ಸ್ಟ್ ಅಲ್ಲ.
ಉತ್ತಮ APX ಉದಾಹರಣೆಗಳು: • ~/.apx/config.json ನಲ್ಲಿರುವ ರನ್ಟೈಮ್ ಕಾನ್ಫಿಗರೇಶನ್ • ಲೋಕಲ್ ಪರ್ಮಿಷನ್ ಮೋಡ್ಗಳು (Local permission modes) • ಸೆಷನ್ಗಳು ಮತ್ತು ಮೆಸೇಜ್ ಲಾಗ್ಗಳು • ಲೋಕಲ್ ಕ್ಯಾಶೆಗಳು • ಪ್ರತಿ ಮಷೀನ್ಗೆ ಸಂಬಂಧಿಸಿದ ಸೀಕ್ರೆಟ್ಗಳು (Per-machine secrets)
ಒಂದು ರೆಪೊಸಿಟರಿಯು ಒಬ್ಬ ವ್ಯಕ್ತಿಯ ಲೋಕಲ್ ಸೆಟಪ್ ಅನ್ನು ಉಳಿದ所有人 ಮೇಲೆ ಹೇರಬಾರದು.
APC ಕ್ಲೋನ್-ಸುರಕ್ಷಿತವಾಗಿದ್ದಾಗ, ನೀವು ಗುಪ್ತ ಫೈಲ್ಗಳಿಲ್ಲದೆ ಪ್ರಾಜೆಕ್ಟ್ ರೂಪವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ಸೈಡ್ ಎಫೆಕ್ಟ್ಗಳ (side effects) ಹಿಂದೆ ಹೋಗುವ ಬದಲು ಇನ್ಸ್ಟ್ರಕ್ಷನ್ಗಳನ್ನು ಡಿಫ್ (diff) ಮಾಡಬಹುದು.
APX ಮಷೀನ್-ಲೋಕಲ್ ಆಗಿದ್ದಾಗ, ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಬದಲಾಯಿಸದೆ ರನ್ಟೈಮ್ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ. ಒಂದು ಮಷೀನ್ ವಿಭಿನ್ನ ಪರ್ಮಿಷನ್ ಮೋಡ್ ಅನ್ನು ಬಳಸಬಹುದು, ಮತ್ತೊಂದು ಮಷೀನ್ ದೀರ್ಘ ಇತಿಹಾಸವನ್ನು (history) ಹೊಂದಿರಬಹುದು. ಆದರೆ ಪ್ರಾಜೆಕ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ನೀವು ಹೊಸ ಫೈಲ್ ಅನ್ನು ಸೇರಿಸುವ ಮೊದಲು, ಈ ಮೂರು ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿ:
- ಪ್ರತಿಯೊಂದು ಹೊಂದಾಣಿಕೆಯ ಸಾಧನವೂ (compatible tool) ಇದನ್ನು ಓದಬೇಕೇ? ಹಾಗಿದ್ದರೆ ಅದನ್ನು APC ಯಲ್ಲಿ ಇರಿಸಿ.
- ಇದು ಮಷೀನ್ ಬದಲಿಗೆ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ವಿವರಿಸುತ್ತದೆಯೇ? ಹಾಗಿದ್ದರೆ ಅದನ್ನು APC ಯಲ್ಲಿ ಇರಿಸಿ.
- ಇದು ಲೋಕಲ್ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳು (credentials) ಅಥವಾ ಇತ್ತೀಚಿನ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆಯೇ? ಹಾಗಿದ್ದರೆ ಅದನ್ನು APX ಯಲ್ಲಿ ಇರಿಸಿ.
ಉದಾಹರಣೆಗಳು: • ಹೊಸ ಏಜೆಂಟ್ ಪಾತ್ರವೇ? APC. • ಟೆಲಿಗ್ರಾಮ್ ಬಾಟ್ ಟೋಕನ್? APX. • ಪ್ರಾಜೆಕ್ಟ್ ರಿವ್ಯೂ ನಿಯಮಗಳ ಬಗ್ಗೆ ಟಿಪ್ಪಣಿಯೇ? APC. • ಕೊನೆಯ ಸಂಭಾಷಣೆಯ ಲಾಗ್? APX.
ಕ್ಲೋನ್ ಮಾಡಿದ ನಂತರವೂ ಉಳಿಯುವ ವಿಷಯಗಳನ್ನು APC ಹೊತ್ತೊಯ್ಯುತ್ತದೆ. ಪ್ರಸ್ತುತ ಮಷೀನ್ನಲ್ಲಿ ಮಾತ್ರ ಮುಖ್ಯವಾಗುವ ವಿಷಯಗಳನ್ನು APX ಹೊತ್ತೊಯ್ಯುತ್ತದೆ. ಈ ಸರಳ ನಿಯಮವು ವ್ಯವಸ್ಥೆಯನ್ನು ಸುಗಮವಾಗಿಡುತ್ತದೆ.
Source: https://dev.to/agentprojectcontext/apc-should-stay-clone-safe-apx-should-stay-machine-local-59n9
Optional learning community: https://t.me/GyaanSetuAi
